温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么理解Js中的递归

发布时间:2021-11-12 11:03:13 来源:亿速云 阅读:97 作者:iii 栏目:开发技术

这篇文章主要讲解了“怎么理解Js中的递归”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么理解Js中的递归”吧!

  递归的基础

  递归的概念

  •在程序中函数直接或间接调用自己•直接调用自己

  •间接调用自己

  •跳出结构,有了跳出才有结果

  递归的思想

  •递归的调用,最终还是要转换为自己这个函数•如果有个函数foo,如果他是递归函数,到最后问题还是转换为函数foo的形式

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

  functionfoo(){

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

  }

  递归的步骤(技巧)

  1.假设递归函数已经写好

  2.寻找递推关系

  3.将递推关系的结构转换为递归体

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

  简单递归练习

  求1-100的和

  •分析:

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

  •寻找递推关系:就是n与n-1,或n-2之间的关系

  sum(n)==sum(n-1)+n

  varres=sum(100);

  varres=sum(99)+100;

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

  functionsum(n){

  returnsum(n-1)+n;

  }

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

  •求100转换为求99

  •求99转换为求98

  •求98转换为求97

  •...

  •求2转换为求1

  •求1转换为求1

  •即sum(1)=1

  5.递归函数

  functionsum(n){

  if(n==1)return1;

  returnsum(n-1)+n;

  求1,3,5,7,9,...第n项的结果和前n项和,序号从0开始

  •分析•假设递归函数已经完成foo(n),得到奇数

  •递归关系:◦foo(n)=foo(n-1)+2

  •递归体

  functionfoo(n){

  returnfoo(n)=sum(n-1)+2;

  }

  4.跳出条件

  •foo(n)=foo(n-1)+2

  •foo(1)=foo(0)+2

  •foo(0)=1;

感谢各位的阅读,以上就是“怎么理解Js中的递归”的内容了,经过本文的学习后,相信大家对怎么理解Js中的递归这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

js
AI