Heap (Priority Queue) 코드 및 사용하는 경우 정리
·
Algorithm, 코딩테스트
Heap (Priority Queue, 우선순위 큐): 항상 가장 작은(또는 큰) 값을 O(log n)에 꺼낼 수 있음1. 최소 비용/가중치 합 구하기: 여러 작업 중 가장 비용이 적은 것부터 선택해야 하는 경우2. 데이터가 클 때 정렬하지 않고 일부 순위만 구하고 싶을 때3. 실시간 정렬 유지: 작업 처리/스케줄링 문제, 중간값 문4. 탐욕(Greedy) 알고리즘에서 최소/최대 선택 from heapq import *# import heapq as hq 이렇게 해도 되는데# 그러면 모든 함수들 함에 hq.heapify 처럼 hq. 붙어야함heap = [5,7,2,4] # heap으로 사용할 리스트 (아직 heap 구조 아님!)heapify(heap) # 리스트를 최소 힙으로 변경print(heap) #..