공부/Python

heapq 모듈

래울 2021. 2. 27. 15:46

이진 트리 형태의 우선순위 큐 자료구조를 사용가능하게 해준다.

항상 최소값이 트리의 root에 오게 된다.

 

import heapq

  - 힙큐 모듈 import

 

힙에 원소 추가

  - heapq.heappush(heap, 4)

  - heapq.heappush(원소를 추가할 대상 리스트, 추가할 원소)

 

힙에서 원소 삭제

  - heap에서 가장 작은 원소를 삭제

  - heapq.heappop(heap)

 

힙에서 최소값 얻기

  - heap[0], 0번 인덱스의 값 = 최소값

 

이미 원소가 들어있는 리스트를 힙으로 변환

  - heapq.heapify(리스트)

 

튜플을 추가할 경우, 튜플에서 맨 앞에 있는 값을 기준으로 정렬된다.

  - heapq.heappush(heap, (a, b)) #a 기준으로 정렬