Python

[Python] Heap(힙) - heapq 모듈

잭피 2021. 12. 23. 15:15
반응형

Heapq

파이썬에서는 heapq 모듈로 최소 힙을 지원합니다

import heapq

최소힙

array = [2,1,3,5,4]

## list to heap
heapq.heapify(array)
print(array)

heapq.heappush(array, 6)
print(array)

heapq.heappush(array, 0)
print(array)

>> [1, 2, 3, 5, 4]
>> [1, 2, 3, 5, 4, 6]
>> [0, 2, 1, 5, 4, 6, 3]

최대힙

array = [2,1,3,5,4]

#array = [-i for i in array]
array = list(map(lambda x:-x, array))
heapq.heapify(array)
array = list(map(lambda x:-x, array))
print(array)

>> [5, 4, 3, 1, 2]
반응형