【理解】递归图


联系作者:humminwang@163.com

递归图不是一种经典算法,也不是一种数据结构,但是我们仍然要把他单独拿出来,因为如果掌握这种简单的递归图的画法,我们便很容易分析一下大型的递归问题,不会被其中各种复杂的调用关系,不知所措,所以还是有必要学习一下。

递归问题

把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。

  • 递归要有边界条件
  • 递归前进段
  • 递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。

递归图

如何画出递归的调用过程?

方法一:在这里插入图片描述

这种画法很清晰显示每一层级涉及到的调用参数,在一些动态规划算法中,我们常看到很多节点被重复计算,所以我们看到这张图时,我们知道我们应该使用记忆化的动态规划算法。

方法二:

在这里插入图片描述
显示了清晰的调用关系,以及回退关系。

方法三:

在这里插入图片描述
画的比较多,有点复杂,但是逻辑还是很清晰。

方法四:

在这里插入图片描述
图显示了代码结构,更加复杂,不易懂。

Reference

https://blog.csdn.net/YPP0229/article/details/95457902
https://baike.baidu.com/item/%E9%80%92%E5%BD%92/1740695
https://blog.csdn.net/missxy_/article/details/89480206

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值