🎯 什麼情境該想到我 當你「要反覆取出目前最大/最小值(優先佇列)時」的時候。 ⚙️ 怎麼用(步驟 / 公式) 思路:完全二元樹用陣列表示,父 ≤/≥ 子(最小/最大堆)。 複雜度:取極值 O(1)、插入/取出 O(log n)、建堆 O(n)。 插入 sift-up、取出把尾端移到頂再 sift-down。 🧪 我實際套用的紀錄 (待填) ⚠️ 注意 / 什麼時候不適用 不支援高效查找任意元素;那需要索引堆或別的結構。 🔗 相關工具 堆積排序 Dijkstra 最短路徑 Prim 最小生成樹 演算法導論