什麼是遞歸函數? 任何一個方法既可以調用其他方法又可以調用自己,而當這個方法調用自己時,我們就叫它遞歸函數或者遞歸方法! 說白了,就是調用自己。 通常遞歸有兩個特點: 1.遞歸方法一直會調用自己直到某些條件滿足,也就是說一定要有出口; 2.遞歸方法會有一些參數,而它會把這些新的參數值傳遞給自己;(自 ...
什麼是遞歸函數?
任何一個方法既可以調用其他方法又可以調用自己,而當這個方法調用自己時,我們就叫它遞歸函數或者遞歸方法!
說白了,就是調用自己。
通常遞歸有兩個特點:
1.遞歸方法一直會調用自己直到某些條件滿足,也就是說一定要有出口;
2.遞歸方法會有一些參數,而它會把這些新的參數值傳遞給自己;(自己調自己);
個人理解:
1,需要設定一個邊界,也就是什麼時間結束。
2,需要遞歸的邏輯,也就是遞歸的公式
舉個例子:
1.階乘
階乘(!)是小於某個數的所有正整數的乘積;
f(n)=n*(n-1)
首先,我們先確認邊界是什麼?
其次,我們要知道邏輯是什麼?
邊界:當n=1時,他的階乘就是1,也就是結束的時候
邏輯:上面其實已經給出來了 就是f(n)=n*(n-1)
好,那我們現在用程式來實現
2.(Fibonacci)斐波拉切數列:
Fibonacci數列是按以下順序排列的數字:
1,1,2,3,5,8,13,21,34,55....
我們不難發現數列的排列規律是:後一個數加上前一個數,以此類推;
然後我們來確認2個點
1,邊界:你可以發現 當n == 0 n ==1 時就可以觸發邊界
2,邏輯:不難看出 Fn=F(n-1)+F(n-2);
下麵是計算Fabonacci數列的一種實現方法
總結:方法實現體內再次調用方法本身的本質是多個方法的簡寫;
它既可以調用其他方法,又可以調用自身.
遞歸一定要有出口;