[Java] 우선순위 큐 (Priority Queue)
1. 우선순위 큐란? 우선순위 큐는 선입선출의 입출력을 따르는 일반적인 큐와 다르게 입력된 순서와 상관없이 우선순위가 가장 높은 데이터를 가장 먼저 출력한다. 우선순위 큐는 힙을 이용하여 구현된 자료구조이다. 데이터를 삽입할 때 우선순위를 기준으로 최대힙 혹은 최소힙을 구성하고 데이터를 꺼낼 때 루트 노드를 꺼낸다. 루트 노드를 삭제할 때는 빈 루트 노드 위치에 맨 마지막 노드를 삽입한 후 아래로 내려가면서 적절한 자리를 찾아서 옮긴다. 2. 예제 1) Integer형 우선순위 큐 PriorityQueue priorityQueue = new PriorityQueue(); priorityQueue.add(4); //offer(); 메소드를 사용해도 동일하게 추가됩니다. priorityQueue.add(3)..