Q28.
下列有關堆積(Heap)的敘述,下列何者正確?
電腦軟體設計共同科目 · 乙級 · Q28
難易度分析
2 / 5
本題要求對堆積的結構特性與時間複雜度有正確的認知。選項中涉及了對極值位置的判定以及對插入與刪除操作複雜度的區分,屬於對核心概念的基礎掌握程度評估。
正確答案:②Max-heap 裡的最小元素只會出現在葉節點(Leaf Node)上
② Max-heap 裡的最小元素只會出現在葉節點(Leaf Node)上:在 Max-heap 中,由於父節點必須大於或等於子節點,最小元素不可能出現在任何非葉節點位置(否則其子節點會更小,違反堆積性質),因此最小元素只會出現在葉節點(Leaf Node)。
錯誤選項解析
- ① Max-heap 裡的最大元素只會出現在葉節點(Leaf Node)上:在 Max-heap 中,最大元素必定出現在根節點(Root),而非葉節點。Max-heap 的性質要求每個父節點的值大於或等於其子節點,因此最大值永遠位於樹的頂端。
- ③ 若用陣列來製作Max-heap,插入運算的時間複雜度為O(1):使用陣列實作 Max-heap 時,插入運算需先將元素置於陣列末尾,再執行 Heapify-up(向上調整) 操作,其時間複雜度為 O(log n),而非 O(1)。
- ④ 若用陣列來製作Max-heap,刪除最大值運算的時間複雜度為O(1):使用陣列實作 Max-heap 時,刪除最大值(即根節點)需將最後一個元素移至根位置,再執行 Heapify-down(向下調整) 操作,其時間複雜度為 O(log n),而非 O(1)。
Learning Tip
"堆積(Heap) 的核心考點在於理解其結構性質與運算複雜度。Max-heap 保證根節點為最大值,Min-heap 保證根節點為最小值,但另一端極值(Max-heap 的最小值或 Min-heap 的最大值)必定位於葉節點。插入與刪除操作均需 O(log n) 時間,因為必須維持堆積的完整二元樹(Complete Binary Tree) 結構與堆積性質(Heap Property),常考陷阱是將 O(1) 與 O(log n) 混淆。"
學員答題分佈
①Max-heap 裡的最大元素只會出現在葉節點(Leaf Node)上0%
②Max-heap 裡的最小元素只會出現在葉節點(Leaf Node)上0%
③若用陣列來製作Max-heap,插入運算的時間複雜度為O(1)0%
④若用陣列來製作Max-heap,刪除最大值運算的時間複雜度為O(1)0%
此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!