우노
[Python] 우선순위큐(heapq) 사용법 본문
들어가기 앞서
- heapq 모듈은 이진 트리(binary tree) 기반의 최소 힙(min heap) 자료구조를 제공합니다.
- 통상적으로 heapq 가 PriorityQueue 보다 더 빠릅니다.
- 해당 포스팅에선, heap 사용법에 대해서만 간단히 다뤄보겠습니다.
- heapq 에 튜플이 삽입될 경우엔, 튜플의 첫 번째 요소가 정렬의 기준이 됩니다.
예제 코드
import heapq
# 기본 배열 생성
q = []
# 우선순위 큐에 요소 삽입
heapq.heappush(q, (4, 10))
heapq.heappush(q, (1, 10))
heapq.heappush(q, (3, 10))
heapq.heappush(q, (2, 10))
print(q) # [(1, 10), (2, 10), (3, 10), (4, 10)]
# 우선순위 큐의 요소 제거
heapq.heappop(q)
print(q) # [(2, 10), (4, 10), (3, 10)]
'Language > Python' 카테고리의 다른 글
[Python] 깊은 복사 (0) | 2022.09.08 |
---|---|
[Python] itertools란? (0) | 2022.09.06 |
[Python] Numpy 평균, 표준편차, 분산 계산 (0) | 2022.07.02 |
[Python] 파이썬 빠르게 입력 받기 (sys.stdin.readline) (0) | 2022.06.12 |
[Python] Dictionary Key, Value 정렬 (0) | 2022.06.07 |
Comments