본문 바로가기
Make the Learning Curve/Python

[Python] heapq (힙큐)사용

by 에이도 2021. 1. 4.
import heapq

heap = []

heapq 모듈을 불러오고

사용할 빈 리스트를 만듭니다.

 

heapq.heappush(heap,5)
heapq.heappush(heap,3)
print(heap) 

heapq.heappush(heap,9)
heapq.heappush(heap,1)
print(heap)

[out]
[3, 5]
[1, 3, 9, 5]

 heapq.heappush(리스트, 원소) -> 최솟값 자동으로 sort 되어서 저장이 됩니다.

 

 

a = heapq.heappop(heap)
print(a)
print(heap)

[out]
1
[3, 5, 9]

힙의 기능으로 heap.heappop(리스트) 를 사용하면,

리스트 내의 가장 작은 element(index = 0)를 pop 합니다.

 

 

num = [6,8,52,1,3,5,7,50]


heapq.heapify(num)
print(num)

heapq.heappop(num)
print(num)

heapq.heappop(num)
print(num)

[out]
[1, 3, 5, 8, 6, 52, 7, 50]
[3, 6, 5, 8, 50, 52, 7]
[5, 6, 7, 8, 50, 52]

기존 존재하는 리스트를  heap으로 만들수 있습니다.

=> heapq.heapify(num)

 

 

heapq.heappop()으로 가장 작은 element 빼는 것 다시 실행! 

댓글