안녕하세요.
지금 우선순위큐를 직접 구현해보면서 공부하고있는데
문득 구현하고나니 드는생각이 이게 정렬과 무슨차이가 있는지, 우선순위큐자체가 가지는 장점이나 특징을 모르겠습니다..
우선순위큐가 최소힙(혹은 최대힙)을 구현한 후 최상위 루트를 dequeue해가면서 우선순위를 가지는 노드정보를 하나씩 출력하는거 같은데(맞나욥..?)
결국엔 오름차순 혹은 내림차순으로 노드를 정렬한 후 [0]인덱스부터 하나씩 뽑는거 아닌가요..?
물론 만약 노드가 자주 추가되고 삭제되는 경우라면 시간적인면에서 우선순위큐가 훨씬 유리할 것 같은데
이런경우에도 이진탐색트리를 구현하게되면 우선순위큐의 삭제연산과 이진탐색트리에서 최소값(혹은 최대값)을 구하는 시간은 비슷하지 않은가요..?(제 추측입니당..)
오히려 이진탐색트리가 잘만 구현하면 더빠를것 같기도하고.....
제가 우선순위큐의 핵심? 을 아직 파악하지 못한것 같아요...
도와주세요 프로그래머님들..!