Skip to content

栈与队列专题

栈和队列是两种重要的线性数据结构,具有特殊的插入和删除规则。栈遵循后进先出(LIFO)原则,队列遵循先进先出(FIFO)原则。本专题整理了栈与队列相关的经典算法题及其解法。

目录

学习要点

  • 栈的基本操作:push、pop、top
  • 队列的基本操作:enqueue、dequeue、front
  • 栈与队列的相互实现
  • 单调栈的应用
  • 单调队列的应用
  • 优先队列(堆)的使用
  • 括号匹配问题
  • 表达式求值问题
  • 滑动窗口问题

核心思想

  • :用于处理需要"最近相关性"的问题,如括号匹配、函数调用、表达式求值等
  • 队列:用于处理需要"先来先服务"的问题,如层序遍历、任务调度等
  • 单调栈:维护栈内元素的单调性,常用于寻找下一个更大/更小元素
  • 单调队列:维护队列内元素的单调性,常用于滑动窗口最值问题