算法通关村第七关 | 理解递归

1. 递归的特征

1.1执行范围不断缩小,这样才能触底反弹

递归的过程一定是越来越简单的,不然越来越复杂,递归不会结束

1.2 终止条件判断在递归调用的前面

如果终止条件不在递归的前面,那么就会一直递归,执行不到终止条件

2. 如何写递归

第一步:从小到大递推

例如,  f(n) = f(n-1) + f(n-2), 从最简单的1,2,3开始写然后选择某个比较的值进行验证,

第二步:分情况讨论,明确结束条件

有些情况不会触底反弹,而是达到某种要求就会停止,归根到底还是判断终止条件的问题

第三步:组合出完整方法

将递推公式和终止条件组合起来,变成完整的方法,

不一定上来就非常精简,可以一步步简化,

3.怎么看懂递归的代码

写几个方法依次调用,一步步推理,寻找规律,记住递归的两个特征,根据特征来看题,

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值