본문 바로가기

개발에 도움이 되는/Python

heapq

 

- 요약

 

이진 트리 기반의 최소 힙 자료 구조

최댓값과 최솟값을 찾는 연산을 빠르게 함.

기본 = 최소 힙

 

 

# 모듈 선언

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