zoukankan      html  css  js  c++  java
  • 栈和队列

    1、递归和栈的关系

    C允许一个函数调用其本身,这种调用过程被称作递归(recursion)。
    最简单的递归形式是把递归调用语句放在函数结尾即恰在return语句之前。这种形式被称作尾递归或者结尾递归,因为递归调用出现在函数尾部。由于为递归的作用相当于一条循环语句,所以它是最简单的递归形式。
    递归中必须包含可以终止递归调用的语句!
    递归的有点在于为某些编程问题提供了最简单的方法,而缺点是一些递归算法会很快耗尽计算机的内存资源。同时,使用递归的程序难于阅读和维护。

    所以消除递归不一定得用到栈,有时候用循环或者队列也可以解决

    2、尾指针的循环链表表示队列,则入队和出队算法的时间复杂度均为O(1)

    如果是表示的栈,出栈是需要遍历到尾结点的前一个,所以时间复杂度为O(n),入栈则是O(1)

    3、卡特兰数--n个不同元素进栈,出渣序列个数:

    1/(n+1)  *Cn2n

  • 相关阅读:
    Linux_day01_primaryCommand
    Variational auto-encoder VS auto-encoder
    python yield generator 详解
    Paper Writing
    DTU_AI lecture 09
    DTU_AI lecture 08
    Attention mechanism
    Energy Journals
    TF + pytorch学习
    expRNN
  • 原文地址:https://www.cnblogs.com/zyqx/p/9414657.html
Copyright © 2011-2022 走看看