每天进步一点点之堆栈思想

1.堆栈(stack),其实就是堆,为什么加堆,我查了了一下,似乎是历史原因,在栈的实现时,内存中的资源分配是以堆的逻辑分配的(使用malloc函数申请内存时),故叫堆栈,其实我们研究其栈的主要性质就可以了,内存中的分配是操作系统和计算机组成原理研究的问题。

2.栈的主要思想就是后进先出,与之相关的算法设计有:

  a) 函数调用

  b) 递归算法实现

  

1 int factorial(int n){
2     return n * factorial(n-1);
3 }

  c)深度优先算法

  d) 操作系统中中断处理时的数据保存。(堆栈寄存器)

  e) 我们可以理解,凡是需要返回到上一步的,都是会用到栈的思想。

原文地址:https://www.cnblogs.com/lixiangfu/p/13337980.html