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


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

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

      a) 函数调用

      b) 递归算法实现

      

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

      c)深度优先算法

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

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

  • 相关阅读:
    设计模式六大原则
    .net Stream篇(七)
    .net Stream篇(六)
    .net Stream篇(五)
    .net Stream篇(四)
    Leetcode 18
    Leetcode 16
    Leetcode 15
    Leetcode 12
    Leetcode 9
  • 原文地址:https://www.cnblogs.com/lixiangfu/p/13337980.html
Copyright © 2020-2023  润新知