遞迴與迭代

2021-07-05 17:25:37 字數 742 閱讀 7582

1、遞迴

當函式用自身來定義時就稱為是遞迴(recursive)的。

遞迴必須滿足四個基本法則:

(1)、基本情形:必須給出基準情況,不用遞迴就能求出,用於終止遞迴運算;

(2)、不斷推進:對於那些要被遞迴求解的情形,遞迴呼叫必須能夠朝著乙個基準情形推進;

(3)、設計法則:假設所有的遞迴呼叫都能執行;

(4)、合成效益法則:在求解乙個問題的同乙個例項時,切勿在不同的遞迴呼叫中做重複性的工作。

2、迭代

迭代就是利用變數的原值推算出變數的乙個新值。

若遞迴是自己呼叫自己的話,迭代就是自己不停的呼叫別人。

3、例項一

求解:階乘n!之和,即:

示例**如下:

#includeusing namespace std;

float fun(int m)

if(m==0)

return 1; //base case(基準情況)

else

return fun(m-1)+(1/mm); //遞迴 }

int main()

int main()

int main()

; int n=sizeof(a)/sizeof(int);

cout<

遞迴與迭代

遞迴與迭代都是基於控制結構 迭代用重複結構,而遞迴用選擇結構。遞迴與迭代都涉及重複 迭代顯式使用重複結構,而遞迴通過重複函式呼叫實現重複。遞迴與迭代都涉及終止測試 迭代在迴圈條件失敗時終止,遞迴在遇到基本情況時終止。使用計數器控制重複的迭代和遞迴都逐漸到達終止點 迭代一直修改計數器,直到計數器值使迴...

遞迴與迭代

遞迴是什麼?簡單來說,就是函式自己調自己的一種方法。通常可以把乙個大型複雜的問題轉化為乙個與原問題相似的規模較小的問題來求解。遞迴的兩個必要條件 以下用幾個例項來說明 題目一 接受乙個無符號整數,把它轉化為字元並列印它。void print int n printf d n 10 int main ...

遞迴與迭代

遞迴的基本概念 程式呼叫自身的程式設計技巧稱為遞迴,是函式自己呼叫自己.乙個函式在其定義中直接或間接呼叫自身的一種方法,它通常把乙個大型的複雜的問題轉化為乙個與原問題相似的規模較小的問題來解決,可以極大的減少 量.遞迴的能力在於用有限的語句來定義物件的無限集合.使用遞迴要注意的有兩點 1 遞迴就是在...