美文网首页
2019-07-15

2019-07-15

作者: 时间_7436 | 来源:发表于2019-07-15 10:51 被阅读0次

    // 递归的特点总结:
    1、自调用,就是在函数里面调用自己
    2、最关键的一点,就是一个递归必须明确结束条件,不然就会陷入无穷的死循环
    3、缺点,就是消耗大量内存

    // 阶乘  n!=n*(n-1)*(n-2).........*2*1
    let d = function jiecheng(n) {
            if (n <= 1) return 1;
            return n * jiecheng(n - 1)
        }
        // console.log(d(5))
    
    // 斐波那契数列   1 1 2 3 5 8............
    let a = function fei(n) {
            if (n <= 0) return 0;
            if (n <= 2) return 1;
            return fei(n - 1) + fei(n - 2)
        }
        // console.log(a(4))
    
    // 第三:上楼梯问题       上楼梯,可以一次走1/2/3阶楼梯      分析可知上楼梯总得方法是F(n) = F(n-1) + F(n-2) + F(n-3)
    function louti(n) {
        if (n <= 0) return 0;
        if (n <= 1) return 1;
        if (n <= 2) return 2;
        if (n <= 3) return 4;
        return louti(n - 1) + louti(n - 2) + louti(n - 3)
    }
    // 还有一种情况一次可以走1/2阶     F(n) = F(n-1) + F(n-2)
    function louti(n) {
        if (n <= 0) return 0;
        if (n <= 1) return 1;
        if (n <= 2) return 2;
        return louti(n - 1) + louti(n - 2)
    }

    相关文章

      网友评论

          本文标题:2019-07-15

          本文链接:https://www.haomeiwen.com/subject/pzbgkctx.html