반응형
[Algorithm] 우선순위 큐
* Python을 기준으로 합니다 우선순위 큐 (Priority Queue) - 개념 우선순위 큐 : 우선순위가 높은 데이터를 가장 먼저 삭제하는 큐 즉, 우선순위 큐는 데이터를 우선순위에 맞게 정렬하고 순서대로 추출할 수 있어야 함 이때 배열이나 연결 리스트를 사용한 구현은, 우선순위에 따른 삽입과 삭제에 많은 비용이 소모됨 따라서 우선순위 큐는 힙 자료구조를 사용하여 삽입과 삭제를 $O(\log n)$ 내에 처리하도록 함 우선순위 큐에서 최소힙을 적용하면 값이 작을수록 높은 우선순위를 부여하도록 할 수 있음 반대로 최대힙을 적용하면 값이 클수록 우선순위를 부여함 - 힙은 일반적으로 최소힙으로 구현되므로, 삽입 시 음수를 취하고 추출 시 다시 -1을 곱하는 방식으로 처리 - 구현 1. heapq 라이브..
Algorithm/Basic
2024. 3. 30. 14:00
반응형