关于递归总结和实际应用

递归算法的基本知识

1.理解什么是递归

简单的从字面意思来,就是既有传递又有回归的算法,就叫做递归。比如:你在电影院看电影,凑巧的是你来迟了,一懵,发现自己的座位号找不到,你就开始问旁边的人,你是第几号,然后旁边的人又不知道,又问旁边的人,那个人又不知道,之后他又问旁边的人,依次类推,等到你问到最前面的时候,那个人知道自己的座位号,就告诉他旁边的人,然后他们一个又一个的把消息传递回来,直到你知道自己的作为在哪里。这就是所谓的递归;平常生活中,我们会碰到很多这样的例子。这类似于我们平常听到的一个故事,从前有座山,山上有座庙,庙里有个老和尚,老和尚给小和尚讲故事,然后又是从前有座山…,这个例子很像递归,但它却不是递归,而是循环,就像那种永远跳不出的循环,死循环。

2.递归的条件

a. 必须要有终止条件,否则会报内存溢出的错误

b. 递归必须有去有回

3.递归与循环的区别

递归是有去有回,而循环是只有去,没有回。

2.利用递归求1 - 100的和
function fn(n) {
if (n <= 1) return 1;
else
return n + fn(n - 1);
}
console.log(fn(5));
3.兔子 3 个月成年 -> 繁殖 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987
function fn(n) {

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值