C 中迭代和遞迴的區別

2021-10-04 18:56:49 字數 353 閱讀 8632

從概念上講,遞迴就是指程式呼叫自身的程式設計思想,即乙個函式呼叫本身;迭代是利用已知的變數值,根據遞推公式不斷演進得到變數新值得程式設計思想。迭代與普通迴圈的區別是:迭代時,迴圈**中參與運算的變數同時是儲存結果的變數,當前儲存的結果作為下一次迴圈計算的初始值。遞迴與普通迴圈的區別是:迴圈是有去無回,而遞迴則是有去有回(因為存在終止條件)。

以斐波那契數列作為例子進行對比:`遞迴:

int fib(int n)

迭代:int fib(int n)

return a0;

} (迭代的做法有點像我們用迴圈方式去處理遞迴的情形)

遞迴和迭代區別

遞迴和迭代 遞迴的實現是通過呼叫函式本身,函式呼叫的時候,每次呼叫時要做位址儲存,引數傳遞等,這是通過乙個遞迴工作棧實現的。具體是每次呼叫函式本身時需要儲存的內容有區域性變數 形參 函式位址等,那麼,如果遞迴呼叫n次,則遞迴棧裡需要儲存n 區域性變數,n 形參,n 函式位址個記憶體空間,很可能導致空...

遞迴和迭代的區別

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

遞迴和迭代的區別

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