簡單解析JavaScript中的遞歸問題之斐波那契

簡單解析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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章