CS 과목(CS科目)/자료 구조(Data Structure)

Priority Queue와 Heap의 차이점

JIN_YOUNG _KIM 2023. 3. 30. 00:00

먼저 ADT(Abstract Data Type)에 대해서 모르고 있다면, ADT가 무엇인지를 먼저 공부하고 와야 한다.

(급하신 분은, 걍 "ADT란 해당 자료 구조에서 구현되어야할 기능들의 모음"이라고 생각하면 된다. 실제로 구현돼 있는 것은 아니므로 오해 금지)

Priory Queue는 ADT이다. 

JAVA로 치면, 인터페이스인 것이다.

Heap(최대힙, 최소힙)는 Prioriry Queue ADT의 구현체이다.

Prioriry Queue ADT의 구현체는 Heap 이외에도 여러 구현체가 있지만, Heap이 가장 성능이 좋기 때문에

Prioriry Queue == Heap 이라고 생각하기 쉽다. 

그러나 엄밀히 말하면 Heap은 Priory Queue의 구현체 중 하나에 불과하다.