遞歸
遞歸的概念
在程序中函數(shù)直接或間接調(diào)用自己
直接調(diào)用自己
簡介調(diào)用自己
跳出結(jié)構(gòu),有了跳出才有結(jié)果
思想
遞歸的調(diào)用,最終還是要轉(zhuǎn)換為自己這個函數(shù)
如果有個函數(shù)foo,如果他是遞歸函數(shù),到最后問題還是轉(zhuǎn)換為函數(shù)foo的形式
遞歸的思想就是將一個未知問題轉(zhuǎn)換為一個已解決的問題來實現(xiàn)
function foo(){
...foo(...)...
}
簡單遞歸練習
求1-100的和
假設(shè)遞歸函數(shù)已經(jīng)寫好為sum,既sum(100),就是求1-100的和
尋找遞推關(guān)系: 就是 n 與 n-1 ,或 n-2 之間的關(guān)系
sum(n) == sum(n-1) + n
var res = sum(100);
var res = sum(99) + 100;
function sum(n){
return sum(n-1) + n;
}