반응형
우선순위 큐(Priority Queue) 란?
기존의 큐(Queue)가 선입선출(FIFO, First-In, First-Out) 구조였다면
우선순위 큐는 우선순위가 높은 데이터가 먼저 선출되는 구조의 자료구조이다.
주로 우선순위 큐는 최소값/최대 값부터 먼저 빠져나오는 힙을 사용하여 구현한다.
Swift로 우선순위 큐 구현하기
최소힙/최대힙 원리를 알고 구현했으면 그걸 그대로 가져오기만 하면 된다.
import Foundation
struct PriorityQueue<T: Comparable> {
var heap = Heap<T>()
var count : Int {
return heap.count
}
var isEmpty : Bool {
return heap.isEmpty
}
mutating func pop() -> T? {
return heap.pop()
}
mutating func insert(_ element: T) {
heap.insert(element)
}
}
reference
반응형
'🖥️ CS, 개발상식 > 자료구조' 카테고리의 다른 글
[자료구조/Swift] 힙(Heap) (0) | 2023.03.26 |
---|---|
[자료구조/Swift] 덱(Dequeue) (0) | 2023.03.16 |
[자료구조/Swift] 큐(Queue) (0) | 2023.03.15 |
[자료구조/Swift] 스택 (Stack) (0) | 2023.03.14 |
[자료구조/C] 스택(Stack) (0) | 2020.09.17 |