[Python3] heapq 모듈


[Python3] heapq 모듈

이진 트리(binary tree) 기반의 최소 힙(min heap) 자료구조를 제공하는 모듈이다. 우선 순위 큐를 제공하는 queue.PriorityQueue를 사용하는 것과 비슷하다.(우선 순위, 아이템)의 튜플로 입력되며 순위 값이 작은 값일 수록 앞에 위치한다. 따라서 가장 작은 값은 언제나 index 0 (루트 노드)에 존재하게 된다. 만일 heapq를 최대 힙으로 사용하고 싶다면 우선 순위 값에 -를 붙여 음수로 만들어 사용한다.생성deque와 같은 경우에는 q = deque() 와 같이 큐를 생성해야 했으나, heapq는 일반적인 리스트를 min heap처럼 다룰 수 있도록 한다.위와 같이 리스트를 생성하고 heapq 모듈의 함수를 사용할 때마다 argument로 넘겨주는 것..........



원문링크 : [Python3] heapq 모듈