- 우선순위 큐, 들어온 순서가 아닌 우선순위에 따라 데이터가 나오는 구조
- 내부적으론 Heap을 활용하여 구현
특징
- 각 요소가 우선순위를 가지며, 우선순위가 높은 요소가 먼저 출력
- 삽입, 삭제 모두 O(log n) 시간 복잡도를 가짐, Heap의 구조를 유지하기 위해 재정렬을 필요로 하기 때문
- ex) 병원 응급실은 먼저 온 환자가 아닌 증상이 심한 환자부터 치료
장점과 단점
- 장점 : 우선순위에 따라 효율적으로 데이터 처리
- 단점 : 일반 Queue보단 구현이 복잡하고, 같은 우선순위 요소 간 순서 보장이 어려움
사용처
- 작업 스케줄링에서 우선순위가 높은 작업을 먼저 처리할 때 활용
- 최단 경로 알고리즘(Dijkstra)에서 가장 비용이 낮은 노드를 먼저 탐색할 때 활용