16. 請問下列哪個選項最能描述遞迴的特性?
(A) 使用循環迭代來處理問題
(B) 在函數中呼叫自己來解決子問題
(C) 將問題分解成多個獨立的子問題
(D) 在程式中使用多個變數來追踪狀態
答案:登入後查看
統計: A(19), B(57), C(8), D(1), E(0) #3113635
統計: A(19), B(57), C(8), D(1), E(0) #3113635
詳解 (共 2 筆)
#6422255
遞迴(Recursion)是一種在電腦科學中解決問題的方法,它的核心特性是:
- 函數呼叫自身:一個函數在其定義中直接或間接地呼叫自己。
- 解決子問題:每次呼叫都是為了解決原問題的一個更小、更簡單的子問題。
- 基本情況:必須有一個或多個基本情況(base case),這些情況可以直接解決,不再需要遞迴呼叫,這是遞迴結束的條件,否則會導致無限迴圈。
根據這個定義來檢視各選項:
- (A) 使用循環迭代來處理問題:這描述的是迴圈(如 for 迴圈、while 迴圈)的特性,是迭代(Iteration)而非遞迴。
- (B) 在函數中呼叫自己來解決子問題:這精確地描述了遞迴的核心機制和目的。
- (C) 將問題分解成多個獨立的子問題:這是一種通用的問題解決策略,稱為「分而治之」(Divide and Conquer),遞迴是實現分而治之的一種常見方式,但並非所有問題分解都只透過遞迴實現,且遞迴不一定分解成「多個獨立」的子問題(有時只有一個,如階乘)。此選項描述的是高層次的解決策略,而不是遞迴本身最獨特的特性。
- (D) 在程式中使用多個變數來追踪狀態:這是程式設計中管理資料和流程的常見做法,與遞迴沒有直接或獨特的關係。
因此,最能描述遞迴特性的選項是 (B)。
The final answer is B
最終答案是 B
0
0