컴퓨터 관련/Python 정보
순수 파이썬 최적화
보뇨
2021. 3. 1. 12:11
반응형
1. 리스트
파이썬은 리스트로 스택, 큐를 표현할수있는데 아래와 같다
사실 알고리즘을 조금이라도 풀거나 하면 알수있는부분인데 보완점도 알기 쉽다
바로 deque 를 쓰기!
다만, deque 의 중간에 있는 요소에 접근하는 연산은 O(N) 이기때문에 bisect 모듈을 사용하라고함 (O(logn)...)
이건 처음 알았음...
2. 딕셔너리
일반적으로 dict 을 많이 썼었는데 defaultdict 을 쓰는 방법도 있었음 + Counter
성능상으로는 counter 가 더 좋다고함
3. 힙
heapify 정렬을 하고 heappop 을 하면 최소값이 나오게됨 (3,3,4,5,6,10 이런식으로..)
속도는 O(long(N)) 이라고함
자매품으로 PriorityQueue 도 있다
4. 트라이(trie)
트라이라는 데이터구조가 있다고하는데 내가 이걸 쓰게될까싶기도해서 키워드만 적음
5. 캐싱과 메모이제이션
그냥 모듈만 불러와서 사용가능한게 좀 신기한...아래와 같이 소스를 실행시키면 print 메소드는 2번 발생한다
비슷한 기능으로 joblib 라이브러리가 있는데 이건 캐시가 저장될 장소를 초기화해서 사용하는듯...
반응형