2-4问题

来源:2-4 计算子串原理讲解

qq_那些荒废流年

2019-03-10

老师能稍微讲一下递归是什么东西吗 我一直不是很理解这个词

写回答

2回答

德育处主任

2019-04-25

递归可以在函数内部不断调用函数自身,但要设置一个出口。


比如最常见的就是阶乘

function factorial(n) {
    if(n == 1) {
        return 1;
    }
    return n * factorial(n-1)
}

console.log( factorial(5) ); // 输出120


其实看上去是有点像循环的。


把5放入函数里面,第一次会变成

5 * factorial( 5 - 1 );


而 factorial( 5 - 1 ) 等价于 factorial(4),

所以就变成一下代码

 4 * factorial( 4 - 1)


一次类推,直到n等于1,就返回1。


n等于1就是出口。


返回1的时候,就要倒过来,从1 * 2那样往回走了。

0
1
qq_那些荒废流年
多谢多谢 现在慢慢地写一写就理解递归的思想了
2019-04-26
共1条回复

快乐动起来呀

2019-03-11

其实递归很简单,就是在函数内部调用该函数本身,比如a=function(){if(条件){a()}}

0
0

JavaScript版 数据结构与算法

填补前端同学的算法短板,掌握面试中最常见的算法与数据结构

2467 学习 · 395 问题

查看课程