자료구조 - 우선순위 큐(Heap, Priority Queue)
1. 우선순위 큐(Priority Queue)란? 이 자료구조는 우선순위 큐라는 말에서 볼 수 있다시피 우선순위가 높은 것을 먼저 꺼내기 위하여 만들어진 자료구조이며, 힙(Heap)이라고도 부른다. 예를 들어서, 숫자 1~10을 저장하는 자료구조를 구현하고 싶은데, 이 숫자들이 랜덤으로 삽입된다고 하자. 숫자가 클 수록 우선순위가 높다고 가정하자. 그렇다면 10이 가장 먼저 꺼내지고, 그 뒤로 9, 8, 7, ... , 1 순으로 추출될 수 있을 것이다.(이것을 최대힙, Max Heap 이라 부른다.) 숫자가 작을 수록 우선순위가 높다고 가정하자. 이 경우 1이 가장 먼저 꺼내지고, 그 뒤로 2, 3, 4, ... , 10순으로 추출될 수 있을 것이다.(이것을 최소힙, Min Heap 이라 부른다.) 여..