递归是什么(Recursive)

作者: 杨斌_1024 | 来源:发表于2020-05-06 18:43 被阅读0次

    概述

    递归是一种算法,递归是通过调用自己本身达到最终操作的。它与迭代不同,递归是反复调用自己的定义来完成计算操作。

    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

    相关文章

      网友评论

        本文标题:递归是什么(Recursive)

        本文链接:https://www.haomeiwen.com/subject/uqqeghtx.html