美文网首页
算法基础之递归调用

算法基础之递归调用

作者: 0爱上1 | 来源:发表于2018-02-28 13:29 被阅读19次

    简介:

        递归是很多算法中都使用到的一种编程方法,他是一种优雅的问题解决方法。

    优缺点:

        使用递归可以使我们的程序更容易让人理解,但是性能上可能要弱于使用循环的方式。

    注意事项:

        编写递归函数时,必须记住两点:基线条件递归条件

        基线条件:指函数何时不再调用自己。

        递归条件:指函数调用自己。

    栈:

        何为调用栈?理解调用栈是学会使用递归前提,我们知道:栈是一种数据结构,而计算机在内部使用被称为调用栈的栈

        每当一个函数被调用,计算机都会将该函数调用涉及到的所有变量的值存储到内存中,计算机使用一个栈来表示这些内存块(一个函数中的变量存储到一个内存块中),如果在一个函数中调用另外一个函数的话,那么调用栈的形式就是一个栈中从下往上依次堆积。

    1 2

    即栈存在深度,随着调用函数链的增加,栈的高度越来越高,其中的内存块越来越多。当函数调用结束,其对应的内存块就会被弹出。

    调用栈就是用于存储多个函数变量的栈

    总结:

        递归是指调用自己的函数

        每个递归都有两个条件:基线条件和递归条件

        栈有两种操作:压入和弹出

        所有函数调用都进入调用栈

        调用栈可能很长,这将会占用大量内存

    相关文章

      网友评论

          本文标题:算法基础之递归调用

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