우선순위 큐 알고리즘이라고도 하는 힙(heap) 큐 알고리즘의 구현을 제공하는 모듈. 파이썬 공식 문서를 참조해 자주 쓸 법한 부분을 추려봤다.
heapq.heappush(heap, item)
힙 불변성을 유지하면서, item 값을 heap으로 푸시합니다.
heapq.heappop(heap)
힙 불변성을 유지하면서, heap에서 가장 작은 항목을 팝하고 반환합니다. 힙이 비어 있으면, IndexError가 발생합니다. 팝 하지 않고 가장 작은 항목에 액세스하려면, heap[0]을 사용하십시오.
heapq.heappushpop(heap, item)
힙에 item을 푸시한 다음, heap에서 가장 작은 항목을 팝하고 반환합니다. 이는 heappush()한 다음 heappop()을 별도로 호출하는 것보다 더 효율적으로 실행합니다.
heapq.heapify(x)
리스트 x를 선형 시간으로 제자리에서 힙으로 변환합니다.
heapq.heapreplace(heap, item)
heap에서 가장 작은 항목을 팝하고 반환하며, 새로운 item도 푸시합니다. 힙 크기는 변경되지 않습니다. 힙이 비어 있으면, IndexError가 발생합니다. 이는 heappop()한 다음 heappush()하는 것보다 더 효율적이며 고정 크기 힙을 사용할 때 더 적합 할 수 있습니다.
파이썬의 heapq 모듈 공식 문서: https://docs.python.org/ko/3/library/heapq.html?highlight=heapq#module-heapq