우선순위 큐(Priority Queueu)
- 우선순위 큐는, 우선순위가 가장 높은 데이터를 가장 먼제 삭제하는 자료구조이다.
- 우선순위 큐는 데이터를, 우선순위에 따라 처리하고 싶을 때 사용한다.
- 우서순위 큐 라이브러리를 활용한 힙 정렬 구현 예제
- python에서는 heap 라이브러리가 min heap으로 동작하는 것이 default이다.
- heap 라이브러리가 max heap으로 동작하게 하고 싶다면, 데이터를 넣을 때와 꺼낼때 마이너스(-) 부호를 붙여서 코드를 작성하면 된다.
import sys
import heapq
input = sys.stdin.realine
def heapsort(iterable):
h = []
result = []
for value in iterable:
heapq.heappush(h, value)
for i in range(len(h)):
result.append(heapq.heappop(h))
return result
n = int(input())
arr = []
for i in range(n):
arr.append(int(input()))
res = heapsort(arr)
for i in range(n):
print(res[i])