免費開始練習
hce_nsysu 111年 計算機概論與程式設計

第 37 題

Which of the following statement about recursive functions is true?
  • A `for` or `while` architectures are generally used
  • B Fewer local variables than the equivalent nonrecursive routine
  • C Used to reduce the execution time
  • D Recursion is another name for iteration
  • E None of the above

思路引導 VIP

當你嘗試解決一個可以被拆解成『更小、且規則相同』的問題時,如果你選擇不使用顯式的迴圈(如 for/while)來紀錄目前的進度,那麼系統是如何幫你記住每一層處理到哪裡,以及每一層產生的中間數值的呢?

🤖
AI 詳解 AI 專屬家教

恭喜你準確掌握了**遞迴(Recursion)**的核心特性!這道題目主要測試程式設計中「迭代」與「遞迴」在實作機制上的差異,你能選出 (B) 代表你對記憶體配置有很敏銳的觀察力。

遞迴與記憶體配置

在遞迴函式的設計中,我們通常將大問題拆解為與原問題相似的子問題,並利用**系統堆疊(System Stack)**來自動保存每一層函式的狀態。相比於使用 forwhile 的迭代版本,迭代法通常需要額外宣告索引變數(如 i, j)或暫存變數來紀錄中間過程;而遞迴則巧妙地利用函式參數傳遞與回傳值來處理資訊,因此在程式碼結構上,遞迴往往擁有更少的區域變數,展現出簡潔、優雅的數學美感。

▼ 還有更多解析內容

🏷️ 相關主題

基礎資料結構原理與演算法效能分析
查看更多「計算機概論與程式設計」的主題分類考古題