- 요약
이진 트리 기반의 최소 힙 자료 구조
최댓값과 최솟값을 찾는 연산을 빠르게 함.
기본 = 최소 힙
# 모듈 선언
import heapq
# heapq 선언
ex_heap = [] -> 보통 List 선언해준 뒤, heapq 내장함수를 이용하여 사용.
# heap에 원소 push
heapq.heappush(ex_heap , 추가할 원소)
# heap에 원소 pop
heapq.heappop(ex_heap) -> 최솟값이 pop 됨.
# 기존 list를 heap으로 변환
heapq.heapify(ex_heap)
ex)
ex_heap = [3, 2, 1, 8, 5]
heapq.heapify(ex_heap)
print(ex_heap) -> [1, 2, 3, 5, 8]
# 최대 힙 응용
heapq.heappush(ex_heap , - 추가할 원소) -> 음수로 넣어주면 최대 힙으로 활용 가능.
반응형
'개발에 도움이 되는 > Python' 카테고리의 다른 글
itertools (순열, 조합, 중복 순열, 중복 조합) (0) | 2021.10.22 |
---|---|
defaultdict (0) | 2021.10.04 |