파이썬의 heapq 모듈

이형준·2023년 4월 15일
0

TIL

목록 보기
10/37

파이썬의 heapq 모듈

우선순위 큐 알고리즘이라고도 하는 힙(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

profile
저의 미약한 재능이 세상을 바꿀 수 있을 거라 믿습니다.

0개의 댓글