보뇨 다이어리

순수 파이썬 최적화 본문

컴퓨터 관련/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 라이브러리가 있는데 이건 캐시가 저장될 장소를 초기화해서 사용하는듯...

 

 

반응형