堆積 (Heap) 是一種特殊的完全二元樹,能在 O(1) 時間取得最大/最小值,O(log n) 時間插入和刪除。優先佇列 (Priority Queue) 基於堆積實作。
Notes:
- 看到「第 K 大/小」、「Top K」等關鍵字,優先考慮 Heap
- Kotlin/Java 中用 PriorityQueue 實作,預設為 Min Heap
- 兩個 Heap(一大一小)可以高效維護中位數
堆積 (Heap) 是一種特殊的完全二元樹,能在 O(1) 時間取得最大/最小值,O(log n) 時間插入和刪除。優先佇列 (Priority Queue) 基於堆積實作。
Notes: