簡單解析JavaScript中的遞歸問題之斐波那契
本篇博客來簡單講解一下JavaScript中的遞歸函數問題,在數學問題中叫遞推。在前面我們學到了for循環,然後利用for循環進行嵌套解決各種問題,其實for循環的嵌套在某種意義上就是一種遞歸函數。
簡單來說遞歸函數就是在函數體內調用本函數,同時需要注意的是使用遞歸函數時要注意函數的終止條件,避免函數陷入死循環。下面我們來說一下遞歸函數中的典型案列,斐波那契數列(黃金比例數列)。
斐波那契數列指的是這樣一個數列:
1、1、2、3、5、8、13、21、34、……
這個數列從第3項開始,每一項都等於前兩項之和。
這個問題在數學中的解決方式:f(0)=1,f(1)=1,…f(n)=f(n-1)+f(n-2),n趨於無窮大,放到js中就可以用遞歸函數來解決,如下:
function func(n){
if(n<=1){
return 1;
}
return func(n-1)+func(n-2);
}
// 利用js的循環 調用遞歸函數
for(var i=0;i<10;i++){
console.log(func(i));
}
今天的問題只能講到這裏,深一點的應用等咱們後面學的在多一些繼續進行講解。
視頻講解鏈接:
https://www.bilibili.com/video/BV1ti4y1477L