递归和地推

**1.**知道写这个递归函数的目的是什么,比如算肺部垃圾数列,活着求n的阶乘
即先不要管里面的代码,先在宏观层面上考虑它的整体功能
**2.**递归结束条件,由于它是一直调用自己,如果没有一个明确的结束条件它会是一个死循环
3.****不断缩小自己的参数的递推表达式,比如f(n)=f(n-1)+f(n-2)这里的参数是n 这里把n拆分成了n-1和n-2
而n-1和n-2也会不断被拆分而且是依靠这个地推表达式进行拆分的

重新给出通俗定义,写一个可以函数中参数(void f(int n)中的n)范围不断缩小到一直最小的函数

在这里插入图片描述
递归树有利于理解递归

在这里插入图片描述
在这里插入图片描述
图片截取自知乎 侵删
大佬写的很好一步步搭建了递归函数
首先是函数体
int f(int n)//n是目标的n级台阶 函数的目的是求有多少种跳法
{
{
n=1时候显然就一种跳法
在这里插入图片描述
而n=2时候有两种即1+1 和 2在这里插入图片描述
思考的时候是以递归函数位单位思考的也就是一叶知秋的感觉 f(n-1)得益于递推式f(n)=f(n-1)+f(n-1) 表示无限拆分到最后的东西
在这里插入图片描述

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值