LONGEPASS
Q109.

下列遞迴演算法,當n=3 時下列之輸出結果何者是正確的?電腦軟體設計共同科目 乙級 第 109 題 題目 圖片

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

難易度分析

4 / 5

本題要求對遞迴演算法的執行過程進行精確追蹤,需分析呼叫堆疊的運作機制以及遞迴層級的展開與回溯順序,具有較高的邏輯推演要求。

正確答案:③ABABAABB

③ ABABAABB:正確。當 n=3 時,遞迴函數依據 呼叫堆疊 (Call Stack) 的 LIFO 特性,依序展開並回溯,產生 ABABAABB 的輸出。此結果符合遞迴樹的 前序或後序遍歷 邏輯。

錯誤選項解析

  • ① ABABABAB:遞迴展開順序錯誤。此選項假設每次遞迴呼叫皆印出 AB,但忽略了遞迴樹狀結構中不同層級的呼叫順序,實際輸出應考慮 遞迴深度 與 base case 的交互作用。
  • ② AAAABBBB:遞迴執行順序理解錯誤。此選項假設所有 A 先印出後再印 B,違反遞迴演算法中 先執行後遞迴 或 先遞迴後執行 的實際呼叫堆疊順序。
  • ④ AABBAABB:遞迴分支邏輯錯誤。此選項假設 A 與 B 成對出現且順序固定,但實際遞迴過程中,分支條件 與 遞迴終止條件 會導致不同的字元排列組合。
Learning Tip

"此類 遞迴追蹤 (Recursion Tracing) 題型常考 遞迴樹展開 與 呼叫堆疊順序。解題關鍵在於手動模擬每一層遞迴的執行路徑,注意 base case 何時觸發,以及遞迴呼叫前後的輸出順序。容易混淆的觀念包含 前序 (Pre-order) 與 後序 (Post-order) 遍歷的差異,實務上需熟悉 函數呼叫堆疊 的運作機制。"

學員答題分佈

①ABABABAB0%
②AAAABBBB0%
③ABABAABB0%
④AABBAABB0%

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

相似類型題目