Home [Python] heapq 우선순위 큐에서 최솟값 추출하기
Post
Cancel

[Python] heapq 우선순위 큐에서 최솟값 추출하기

heapq 우선순위 큐, 즉 최소힙에서 최솟값을 삭제하지 않고 얻으려면 [0] 인덱스를 통해 접근하면 된다.

왜냐하면 최소힙을 구성하는 과정(heapify)에서 매번 새로운 최솟값을 [0] 인덱스에 위치시키기 때문이다.


하지만 [1] 인덱스에 두 번째로 작은 원소, [2] 인덱스에 세 번째로 작은 원소가 들어있는 것은 아니다.

두 번째로 작은 원소를 얻으려면 heappop()을 한 번 수행해서 최솟값을 삭제한 후 [0] 인덱스에 접근해야 한다.

This post is licensed under CC BY 4.0 by the author.

[Python] 파이썬의 동작 원리: 인터프리터 언어, 컴파일 언어, 그리고 CPython

[Better Way #46] 재사용 가능한 @property 메서드를 만들려면 디스크립터를 사용하라