函数嵌套理解递归 (理解递归)

递归,怎么说呢?   递出去 (一直走到递归的退出条件 , 就一直返回了) ,  又归来

// 有类似循环的过程应该可以考虑递归吧.

相信你们都有递归的一点基础了,什么递归条件什么的,我这里不多废话了.我们这里主要着重理解递归,其实就一张图就可以了.

直接上题目: 如何依次打印 12345 的每一位的数字?

print : 1 2 3 4 5

怎么样? 有点不好理解吧?

换一张图来试试?

看完这一张嵌套图之后怎么样?

是不是有一种倒序的意思啊? 最初的打印并没有最开始打印.

再来一道求字符串长度的用递归的题目 :

*str != '\0' 那么字符串的长度肯定大于等于 1, 所以是 1 + 后面字符串的长度.

............

1 + 1 + ...... + 0

嵌套展开图各位可以自己画一画了 , 很容易的. 写起来不太容易啊 .

再来一道计算阶乘的题吧:

这个阶乘的题目和求斐波那契数列那个题目是很相似的:

总之 , 用递归要知道递归的缺点 . 

再来一道网上说的什么 <爬楼梯题目> , 其实也是求斐波那契数列 (转化一下就可以了).

 什么 <汉诺塔题目> 也可以用递归

什么求链表的长度 , 什么反转单链表 , 树的遍历 , dfs 搜索 , bfs 搜索什么的都可以用 . 

递推可以解决部分递归的问题 .  (解决递归的重复计算问题 , 还有栈空间的问题呢......)

  • 15
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值