출처: 이것이 취업을 위한 코딩테스트다.
힙 자료구조는 우선순위 큐를 구현하기 위해서 사용하는 자료구조 중 하나다.
우선순위 큐는 우선순위가 가장 높은 데이터를 가장 먼저 삭제 한다는 점이 특징이다.
즉, 데이터를 우선순위에 따라 처리하고 싶을 때 사용하는 자료구조이다.
(대부분의 프로그래밍 언어에는 우선순위 큐 라이브러리를 지원하기 때문에, 코딩 테스트 환경에서 직접 구현할 필요는 없다.)
파이썬에서는 PriorityQueue, heapq가 있는데, heapq가 동작이 더 빠르다.
우선순위 값을 표현할 때는 정수형 자료형의 변수가 사용된다.