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)**來自動保存每一層函式的狀態。相比於使用 for 或 while 的迭代版本,迭代法通常需要額外宣告索引變數(如 i, j)或暫存變數來紀錄中間過程;而遞迴則巧妙地利用函式參數傳遞與回傳值來處理資訊,因此在程式碼結構上,遞迴往往擁有更少的區域變數,展現出簡潔、優雅的數學美感。
▼ 還有更多解析內容