发表于: 2021-08-06 20:07:08

1 2158


今天完成的事情:整理学习方法,,规划学习目标!。 JS 递归学习


明天计划的事情:继续搞Vue;;JS 递归搞懂


遇到的问题:JS 递归 没搞太明白


收获:

目标:Vue 搞出微官网;

JS 递归思想:递归的调用,最终还是要转化为自己这个函数;

1,如果有个函数 foo,它就是递归函数,到最后问题还会转化为函数 foo 的形式

2,递归的思想就是将一个未知问题转换为一个已解决的问题来实现

function foo(){

    ...foo(...)... 

}

递归步骤:

  1. 假设递归函数已经写好
  2. 寻找递推关系
  3. 将递推关系的结构转换为递归体
  4. 将临界条件加入到递归体中、


递归练习:求1-100的和:

1,假设递归函数已经写好为sum,既sum(100),就是求1-100的和,


2,

寻找递推关系: 就是 n 与 n-1 ,或 n-2 之间的关系
sum(n) == sum(n-1) + n

var res = sum(100);

var res = sum(99+ 100;


3,将递归结构转换成递归体

function sum(n) {
    return sum(n - 1+ n;
}


4,将临界条件加入到递归中


求100 转换为 求99
求99 转换为 求98
求98 转换为 求97
...
 求2 转换为 求1
求1 转换为 求1

即 sum(1) =1


5,递归函数:

        function sum(n) {
            if (n == 1return 1;
            return sum(n - 1+ n;
        }









返回列表 返回列表
评论

    分享到