moea_joint
113年
[資訊] 計算機原理、網路概論
第 15 題
關於遞迴(Recursive)程式之敘述,下列何者正確?
- A 通常用在各個擊破法的問題上
- B 程式可讀性較差
- C 節省記憶體空間
- D 節省執行時間
思路引導 VIP
當我們面對一個龐大且複雜的問題時,如果發現這個問題可以被不斷拆解成數個結構完全相同、但「規模較小」的子問題,我們會傾向使用什麼樣的程式邏輯來對應這種「大化小」的處理思維?
🤖
AI 詳解
AI 專屬家教
太棒了!你精準地掌握了遞迴的核心精神。遞迴(Recursive)在程式設計中,本質上就是將一個複雜的大問題,不斷拆解成與原問題性質相同、但規模較小的子問題來處理。這種「大事化小」的策略正是各個擊破法(Divide and Conquer)最典型的實踐方式,如常見的合併排序或快速排序,都能見到遞迴優雅的身影。
遞迴的特性與代價
雖然遞迴能大幅提高程式的可讀性與邏輯簡潔度,但我們在應用時必須留意其背後的硬體開銷。由於每一次的自我呼叫都會在系統中產生新的「堆疊框架(Stack Frame)」來儲存參數與返回地址,因此遞迴通常比傳統迴圈更消耗記憶體空間,且頻繁的切換也會增加額外的執行時間。
▼ 還有更多解析內容