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

第26題

若 t 表示二元樹之樹根,下列程式之意涵,何者是正確的?

題目

若 t 表示二元樹之樹根,下列程式之意涵,何者是正確的?

  1. (1) 比較二元樹樹根之左右兩子樹,然後傳回兩子樹中較多節點之個數
  2. (2) 傳回二元樹之節點個數
  3. (3) 比較二元樹樹根之左右兩子樹,然後傳回兩子樹中高度較高之數值
  4. (4) 傳回二元樹之高度

官方答案

(4) 傳回二元樹之高度

解析

此遞迴函式通常以樹根 t 為參數,當 t 為 null 時傳回 0,否則傳回 1 + max(處理左子樹, 處理右子樹)。對左右子樹各別遞迴求得高度後取較大值再加 1(代表樹根本層),整體結果即為整棵二元樹的高度,對應選項 4。若函式僅取 max 而不加 1,才會只得到較高子樹的高度(選項 3)。選項 1 誤將比較對象當作節點個數;選項 2 的節點總數應為左右子樹節點數相加再加 1,而非取 max。二元樹高度遞迴定義:空樹高度 0,非空樹高度 = 1 + max(左子樹高度, 右子樹高度)。

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

官方資料