遞迴與迭代的區別

2021-10-12 09:20:42 字數 704 閱讀 2606

//以下是乙個用遞迴階乘的例項

#include

intcal

(int num)

if(num==0)

return num*

cal(num-1)

;//此處開始自身呼叫

}int

main()

//再來乙個斐波那契數列的遞迴函式

#include

intcal

(int n)

return

cal(n-1)

+cal

(n-2);

}

對此,總結一下遞迴三個要素:明確功能、尋找結束條件、找出函式等價關係

//還是以斐波那契數列來舉例子

#include

intfib

(int n)

for(i=

2;i<=n;i++

)return t3;

}

對此可以說迭代就是一種不斷用變數的舊值遞推出新值得過程,一般會用乙個計數器來判斷是否結束迭代

遞迴與迭代的區別

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

遞迴與迭代的區別

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

遞迴與迭代的區別

遞迴和迭代都是迴圈的一種。遞迴是重複呼叫自身函式實現迴圈 迭代是函式內某段 實現迴圈。迭代與普通迴圈的區別是 迭代迴圈中,參與運算的變數同時是儲存結果的變數,當前儲存的結果做為下一次迴圈的初始值 如 v v 1 遞迴與迭代都是基於控制結構 迭代用重複結構,而遞迴用選擇結構。遞迴與迭代都涉及重複 迭代...