일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 도커
- Java
- 리팩토링
- c#
- github
- kubernetes
- 자바
- springboot
- design pattern
- 코틀린
- VOA
- AWS
- 스프링부트
- machine-learning
- 스프링
- react
- Winform
- DataGridView
- Spring Boot
- Python
- MySQL
- mybatis
- Spring
- 리액트
- git
- docker
- Kotlin
- 쿠버네티스
- 파이썬
- 마이바티스
Archives
- Today
- Total
보뇨 다이어리
순수 파이썬 최적화 본문
반응형
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 라이브러리가 있는데 이건 캐시가 저장될 장소를 초기화해서 사용하는듯...
반응형
'컴퓨터 관련 > Python 정보' 카테고리의 다른 글
동시성 구현 (0) | 2021.03.07 |
---|---|
벤치마킹과 프로파일링 (0) | 2021.03.01 |
join 메소드에 Tuple 사용하기 (0) | 2019.10.17 |
SyntaxError: Non-ASCII character '\xec' in file 에러 (0) | 2019.06.24 |
pip install mysqlclient 윈도우 설치시 오류 (0) | 2019.02.12 |