
[자료구조] Priority Queue
·
Python 활용하기
Priority QueueFIFO(First In First Out) 형식우선순위가 높은 데이터가 먼저 출력되는 형식Heap최대, 최소를 빠르게 찾기 위한 자료구조배열에서는 $O(n)$이 걸린다면, 힙을 사용하면 $O(logn)$완전이진트리최대힙, 최소힙 두 종류데이터 삽입, 삭제 원리(최소힙) 데이터 삽입 시, 가장 아래에 데이터 저장 후 부모 노드와 비교해가면서 작은 값이 부모 노드에 갈 수 있도록 위치 교환(최소힙) 데이터 삭제 시, 루트 노드를 삭제하고 가장 아래 데이터를 루트 노드로 옮기고, 왼쪽과 오른쪽의 크기와 비교해 더 작은 쪽과 위치 교환import heapqhq = []heapq.heappush(hq, 1)heapq.heappush(hq, 5)heapq.heappush(hq, 3)hq[..