遞歸算法c語言 如何對遞歸進行理解?
如何對遞歸進行理解?既然你想用簡單的白話來解釋遞歸算法,我就給你解釋一下,確保你能理解。有個熟悉的故事,正好可以解釋遞歸。這個故事不斷地調(diào)用自己,遞歸是一個函數(shù)多次調(diào)用自己。不同的是遞歸不能像這個故事
如何對遞歸進行理解?
既然你想用簡單的白話來解釋遞歸算法,我就給你解釋一下,確保你能理解。
有個熟悉的故事,正好可以解釋遞歸。
這個故事不斷地調(diào)用自己,遞歸是一個函數(shù)多次調(diào)用自己。不同的是遞歸不能像這個故事那樣多次調(diào)用自己。遞歸必須有終止條件,它將在多次調(diào)用后終止。
這個解釋很口語化。
怎么更好地終極理解遞歸算法?
遞歸,通俗地說,就是在程序中調(diào)用自己。最典型的例子是因式分解整數(shù)。
一般來說,在編寫遞歸程序時,必須有終止條件,否則會形成無限遞歸,形成死循環(huán)。計算n的程序!C語言如下:
#include
void main()
{
INTN=0,result=0
scanf(%d,&n)
result=mydigui(n)
printf(%n!=%dn,result)
}
myudigui(INTN)
{
if(n==1)/*遞歸程序終止條件:1的階乘等于1。如果n等于1,則返回1*/
return(1)
否則/*n不等于1,則返回n*mydigui(n-1)。因為:n!=n*(n-1)!*/
返回(n*my)uDiGui(n-1))
}