用 JavaScript 實作優先佇列(Priority Queue)
(2026/08/18 更新內容)
此篇為舊文章,我已經另外整理資料結構與演算法的筆記,可以參考資料結構與演算法。
預備知識
了解本文內容之前需要具備的 prerequisite:
- JavaScript 基礎知識及 ES6 語法
- 物件導向觀念
- Big O Notation
- 資料結構的基礎理解
- 遞迴
- Binary Search Tree
- Tree Traversal
- Heap
什麼是 Priority Queue?
Priority Queue (以下簡稱 PQ)中的每個 element 都有各自的 priority
- priority 高的元素會比 priority 低的先被處理
- 若有兩個 priority 相同的 elements,則按照它們各自在 priority queue 中的順序決定先後順序,即 queue 的特性「先進先出」
因為有利用 priority 來決定排序的特性,所以 PQ 也往往會用 heap 來實現。

source: 