LONGEPASS
Q160.

80 個元素儲存於二元樹,依由上而下,由左而右之順序 。若以一個一維陣列儲存,下列何者是正確的?(假設陣列第一個元素其位置編號從0 開始)

電腦軟體設計共同科目 · 乙級 · Q160

難易度分析

3 / 5

本題要求考生掌握完全二元樹的多項結構特性,不僅需運用層數與節點數量的計算公式,還必須精確判定陣列索引在 0 起始條件下的位置偏移,具有較高的綜合計算要求與細節辨析難度。

正確答案:④第一個leaf node 儲存在陣列的第40 個位置

④ 第一個leaf node 儲存在陣列的第40 個位置:完全二元樹以陣列儲存時,索引 i 的節點其子節點為 2i+1 與 2i+2。最後一個 non-leaf node 索引為 ⌊n/2⌋ - 1 = 39,因此第一個 leaf node 位於索引 40,此為正確答案。

錯誤選項解析

  • ① 這棵樹共有6 層:完全二元樹的層數計算為 ⌊log₂n⌋ + 1,80 個元素的層數為 ⌊log₂80⌋ + 1 = 6 + 1 = 7 層,而非 6 層。
  • ② 這棵樹的leaf node 共有41 個,non-leaf node 共有39 個:在 n 個節點的完全二元樹中,leaf node 數量為 ⌈n/2⌉ = ⌈80/2⌉ = 40 個,non-leaf node 為 80 - 40 = 40 個,而非 41 與 39。
  • ③ 第一個leaf node 儲存在陣列的第39 個位置:第一個 leaf node 的位置應為最後一個 non-leaf node 的下一個位置。最後一個 non-leaf node 索引為 ⌊80/2⌋ - 1 = 39,故第一個 leaf node 位於索引 40,而非 39。
Learning Tip

"本題核心考點為完全二元樹的陣列表示法與節點索引計算。常考陷阱包含:① 層數計算需加 1(根節點為第 1 層);② leaf node 數量公式為 ⌈n/2⌉;③ 最後一個 non-leaf node 索引為 ⌊n/2⌋ - 1,第一個 leaf node 即為其索引加 1。務必注意陣列起始索引為 0 或 1 會導致公式差異。"

學員答題分佈

①這棵樹共有6 層0%
②這棵樹的leaf node 共有41 個,non-leaf node 共有39 個0%
③第一個leaf node 儲存在陣列的第39 個位置0%
④第一個leaf node 儲存在陣列的第40 個位置0%

此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!

相似類型題目