递归是什么(Recursive)
概述
递归是一种算法,递归是通过调用自己本身达到最终操作的。它与迭代不同,递归是反复调用自己的定义来完成计算操作。
In computer programming, the term recursive describes a function or method that repeatedly calculates a smaller part of itself to arrive at the final result. It is similar to iteration, but instead of repeating a set of operations, a recursive function accomplishes repetition by referring to itself in its own definition.
比方:
我家住在20楼,现在往下找东西,先去19楼,没有,继续去18楼,没有,继续去17楼,没有,去16楼……..,一直到1楼)(也有可能到7,8,9楼),得到的结果可能有两种,1.找到了,2.没有找到,到达1楼后不论有没有找到,都会返回,先返回到2楼,而后3楼,最后到20楼。这实际上就是一个递归过程。可以把找东西看做是递归函数,每到一层调用一次找东西(函数),找到了,而后再一次一次返回。
代码
运行结果
递归使用场景和条件
递归的使用场景一般是在同一问题领域内容深层嵌套时使用。
递归的条件是有限的调用自身(有终止条件),每次调用都离结果更近,递归栈应该在物理内存有限范围和栈深有限范围。
递归开发案例
1.在日常开发中会一个表内,存储父子节点数据。如下图,用类来模拟表结构。
表结构
存储两条链路数据
需求:根据传入的id列表查询出,id对应的所有父节点。比方查询11,那么他的父节点就是10,9,8,7。
给出的处理办法
2.使用递归算法打印数字
递归打印数字
GitHub Recursive Code
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 递归是什么(Recursive)