먼저, 큐에 대해 다시 생각해보자 일반적인 큐는 FIFO 구조로 먼저 들어온 요소가 먼저 나가는 자료구조이다 우선순위 큐도 있다 우선순위 큐는 데이터들이 우선순위를 가지고 우선순위가 높은 요소가 먼저 나가는 자료구조이다 바로 이 우선순위 큐를 위한 자료구조가 힙이다 배열, 연결리스트, 힙 으로 구현이 가능한데 힙으로 구현하는 것이 O(log n)으로 구현하는 것이 가장 효율적이다(나머진 O(n)) 그럼 힙(heap)이란? 여러 개의 값들 중에서 최댓값이나 최솟값을 빠르게 찾아내도록 만들어진 자료구조 완전 이진 트리이며, 시간복잡도는 O(log n)에 추가와 삭제가 가능하다 최대힙, 최소힙 2가지 종류가 있다 최대힙: 부모 노드의 키 값이 자식 노드의 키 값보다 크거나 같은 완전 이진 트리 최소힙: 부모..