16. 請問下列哪個選項最能描述遞迴的特性?
(A) 使用循環迭代來處理問題
(B) 在函數中呼叫自己來解決子問題
(C) 將問題分解成多個獨立的子問題
(D) 在程式中使用多個變數來追踪狀態

答案:登入後查看
統計: A(19), B(57), C(8), D(1), E(0) #3113635

詳解 (共 2 筆)

#5838148
遞迴是一種程式設計的技巧,其中函數或過程...
(共 102 字,隱藏中)
前往觀看
5
0
#6422255

遞迴(Recursion)是一種在電腦科學中解決問題的方法,它的核心特性是:

  • 函數呼叫自身:一個函數在其定義中直接或間接地呼叫自己。
  • 解決子問題:每次呼叫都是為了解決原問題的一個更小、更簡單的子問題。
  • 基本情況:必須有一個或多個基本情況(base case),這些情況可以直接解決,不再需要遞迴呼叫,這是遞迴結束的條件,否則會導致無限迴圈。

根據這個定義來檢視各選項:

  • (A) 使用循環迭代來處理問題:這描述的是迴圈(如 for 迴圈、while 迴圈)的特性,是迭代(Iteration)而非遞迴。
  • (B) 在函數中呼叫自己來解決子問題:這精確地描述了遞迴的核心機制和目的。
  • (C) 將問題分解成多個獨立的子問題:這是一種通用的問題解決策略,稱為「分而治之」(Divide and Conquer),遞迴是實現分而治之的一種常見方式,但並非所有問題分解都只透過遞迴實現,且遞迴不一定分解成「多個獨立」的子問題(有時只有一個,如階乘)。此選項描述的是高層次的解決策略,而不是遞迴本身最獨特的特性。
  • (D) 在程式中使用多個變數來追踪狀態:這是程式設計中管理資料和流程的常見做法,與遞迴沒有直接或獨特的關係。

因此,最能描述遞迴特性的選項是 (B)。

The final answer is B
最終答案是 B

0
0