民國108年 第2梯次 電腦軟體設計(JAVA)乙級 學科

第32題

將20 筆資料儲存於二元樹,並依由上而下,由左而右之順序,如果此樹儲存於一維陣列(Array)A 中,假設陣列之索引值由1 開始至20 依序儲存各節點資料,下列…

題目

將20 筆資料儲存於二元樹,並依由上而下,由左而右之順序,如果此樹儲存於一維陣列(Array)A 中,假設陣列之索引值由1 開始至20 依序儲存各節點資料,下列敘述何者是正確的?

  1. (1) A[4 ]的父節點(Parent Node)為A[3]
  2. (2) A[5]的父節點為A[3]
  3. (3) A[4]的左邊子節點(Left Child )為A[8]
  4. (4) A[10]的右邊子節點(Right Child)為A[20]

官方答案

(3) A[4]的左邊子節點(Left Child )為A[8]

解析

完整二元樹依層次由上而下、由左而右存入陣列 A(索引從 1 開始),節點 i 的父為 floor(i/2)、左子為 2i、右子為 2i+1。A[4] 的左子為 A[8](2×4=8),敘述 3 正確。A[4] 父為 A[2] 非 A[3](敘述 1 錯);A[5] 父為 A[2] 非 A[3](敘述 2 錯);A[10] 右子為 A[21],超出 20 筆範圍不存在(敘述 4 錯)。故選 3。

AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。

官方資料