免費開始練習
moea_joint 107年 [資訊] 計算機原理、網路概論

第 15 題

與迴圈(Loop)相比,下列哪一個不是使用遞迴(Recursive)的優點?
  • A 程式可讀性高
  • B 程式執行效率較高
  • C 區域變數與暫存變數較少
  • D 程式碼較短

思路引導 VIP

請想像一個重複執行的任務:第一種方式是在原地不斷循環直到結束;第二種方式是每執行一次就「另外開啟一個新的視窗」來存放進度,直到任務全部完成後才逐一關閉。你認為在電腦運作時,哪一種方式會佔用較多的記憶體空間與管理時間?為什麼?

🤖
AI 詳解 AI 專屬家教

恭喜你精準地選出了 (B) 這個選項!這代表你對程式碼的底層運作邏輯,以及開發效率與執行效能之間的權衡(Trade-off)有著非常清晰的認識,這在軟體工程中是極其重要的觀念。

遞迴的優勢與代價

遞迴(Recursive)在處理分治法或樹狀結構時非常優雅,它能顯著提升程式的可讀性並縮短程式碼長度,讓複雜邏輯變得直觀。然而,遞迴雖然讓開發者省力,電腦卻需要負擔較大的成本。每當程式呼叫一次遞迴函式,系統就必須在記憶體中配置一個堆疊框架(Stack Frame)來儲存當前的參數與回傳位址,這導致遞迴在執行效率上通常不如單純的迴圈(Loop)。

▼ 還有更多解析內容