* 이 글은 『이것이 취업을 위한 코딩 테스트다 with 파이썬』 책을 참고해 적었음을 말씀드립니다.
파이썬에서는 힙(Heap)기능을 사용하기 위해 heapq 라이브러리를 제공한다.
heapq는 다익스트라 최단 경로 알고리즘을 포함해 다양한 알고리즘에서 우선순위 큐 기능을 구현하고자 할 때 사용된다.
기본적으로 최소 힙(Min Heap)으로 구성되어 있어 힙에 원소를 넣었다가 빼면 오름차순 정렬이 된다
최소 힙 자료구조의 최상단 원소는 항상 '가장 작은 원소'이기 때문이다
- 시간 복잡도 : O(NlogN)
- heapq.heappush() : 힙에 원소 삽입하기
- heapq.heappop() : 힙에 원소 꺼내기
1.오름차순 heap 정렬
오름차순 힙 정렬 : [0, 1, 2, 3, 4, 5, 6, 7]
2. 내림차순 heap 정렬 : 음수로 바꾸어 표기하고 다시 원래대로 가져오기
내림차순 힙 정렬 : [7, 6, 5, 4, 3, 2, 1, 0]
[참고자료]
- 『이것이 취업을 위한 코딩 테스트다 with 파이썬』 나동빈. 한빛미디어
- https://docs.python.org/ko/3/library/index.html
출처: https://purple-j.tistory.com/203?category=1015351 [Purple's daily record]
실전에서 자주 쓰이는 표준 라이브러리(2)_itertools 순열 조합
* 이 글은 『이것이 취업을 위한 코딩 테스트다 with 파이썬』 책을 참고해 적었음을 말씀드립니다. itertools는 반복되는 데이터를 처리하는 기능를 포함하고 있는 라이브러리이다 itertools가 제
purple-j.tistory.com
'DEV > python' 카테고리의 다른 글
| python pip install (0) | 2024.03.28 |
|---|---|
| 실전에서 자주 쓰이는 표준 라이브러리(4)_bisect 이진 탐색 (0) | 2022.01.22 |
| 실전에서 자주 쓰이는 표준 라이브러리(2)_itertools 순열 조합 (0) | 2022.01.21 |
| 실전에서 자주 쓰이는 표준 라이브러리(1)_내장함수 (0) | 2022.01.20 |
| 함수 (0) | 2022.01.20 |