数据结构知识点总结之栈、队列

数据结构

本质

  • 只能在表尾位置插入删除的线性表

存储

  • 顺序栈

    • 结构

      • *elem|maxsize|top
    • 问题

      • 栈上溢

        • 入栈时栈满
      • 栈下溢

        • 出栈时栈空
  • 链式栈

特殊

  • 双顺序栈

    • 两个栈放在同一个数组中
    • 数组的头和尾分别为两个栈的栈底
    • 判断栈满:top1==top2-1

应用

  • 表达式求值

    • 中缀
    • 前缀
  • 表达式转换

  • 递归

    • 转化为非递归

      • 循环结构

        • 尾递归
        • 单项递归
      • 栈代替

队列

本质

  • 只能在表尾位置插入元素,在表头删除元素的线性表

存储

  • 顺序队列

    • 结构

      • *elem|front|rear
      • 初始值;front=rear=0
    • 入队

      • 元素进入rear所指位置,rear+1
    • 出队

      • front所在位置元素出队,front+1
    • 问题

      • 假溢出
  • 链式队列

特殊

  • 循环队列

    • 判断队空与队满

      • 设标志位

      • 少用一个元素空间

        • 队空

          • front==rear
        • 队满

          • (rear+1)%maxsize==front
  • 受限双端队列

应用

posted @ 2020-07-08 09:49  wgjmcal  阅读(235)  评论(0编辑  收藏  举报