栈(stack)

Posted ccpang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了栈(stack)相关的知识,希望对你有一定的参考价值。


 技术图片技术图片

 L

 


 

二、栈的动作:

 技术图片

 

 

  • 结合函数调用栈的机制介绍一般函数调用的实现方式与过程,并将其推广到递归调用。
  • 以降低空间复杂度的目标为线索,介绍通过显式的维护栈的结构解决应用问题的典型方法和技巧。
  • 利用栈结构,实现基于试探回溯策略的高效搜索算法。
  • 基于轮值策略的通用循环分配器,并以银行窗口服务为例实现基本的调度算法。

栈禁止操作的一端称为盲端,

技术图片

 

 

 


三、Stack模板类:

 将向量的末尾作为栈的入口:

技术图片

 

 

 技术图片

 

 

 


 

三、Stack之应用一:逆序输出

  输出次序与处理过程次序是颠倒的;递归深度和输出的长度不容易知道。

进制转换例子:

  技术图片

 

 

 迭代实现:

  技术图片

 

 

 


四、Stack之应用一:递归嵌套

  具有自相似性的问题可递归描述,但分支位置和嵌套深度不确定。

 

 

 技术图片

 

 减而治之和分而治之:失败!!!

  技术图片

 

 构思思路:

 技术图片

 

 


 

 技术图片

 

 技术图片

 


 五、栈与递归

  递归算法所需的空间量,主要决定于最大递归深度,

 

以上是关于栈(stack)的主要内容,如果未能解决你的问题,请参考以下文章

python 栈

队列栈和递归遍历目录

用两个栈实现队列

用两个栈实现队列

python两个队列实现一个栈和两个栈实现一个队列

使用两个栈实现一个队列