免費開始練習
moea_joint_essay 105年 [統計資訊] 資料庫及資料探勘、程式設計

第 一 題

📖 題組:
「遞迴」與「迴圈」是程式設計重要的手法,請回答下列問題:
📝 此題為申論題,共 2 小題

小題 (一)

兩設計手法相比,「遞迴」的優點、缺點為何?(8 分)

思路引導 VIP

闡述遞迴的優點 (程式碼簡潔、可讀性高,利於解決樹狀結構或分治法問題) 及缺點 (過多的堆疊空間消耗、容易 Stack Overflow、重覆計算的性能損耗)。

🤖
AI 詳解
AI 專屬家教

【優點】:

  1. 程式碼簡潔易讀:能將複雜的大問題自然地轉化為規模較小的同性質子問題,直接對應數學歸納法的邏輯,特別適合處理樹狀走訪、圖形搜尋、分治法 (Divide and Conquer) 等問題。
  2. 省去手動維護堆疊:由系統隱式幫忙維護狀態變數,減少因手動刻迴圈及堆疊帶來的撰寫難度與錯誤。

小題 (二)

下列左右兩邊之程式碼,左邊以「遞迴」手法撰寫,右邊擬將之改為以「迴圈」手法撰寫,請於右邊程式空白處填入正確程式碼。(9 分)

思路引導 VIP

根據遞迴版本觀察為費氏數列。迴圈的實作需要用迭代方式逐步推導 fib_n_2, fib_n_1 至目標值 fib_n。

🤖
AI 詳解
AI 專屬家教

在迴圈中的空白處應填入計算當前 fib_n 值並向後更新狀態變數的程式碼:

fib_n = fib_n_1 + fib_n_2;

🏷️ 相關主題

程式設計演算法與資料結構實作
查看更多「[統計資訊] 資料庫及資料探勘、程式設計」的主題分類考古題