栈 & 队列 应用场景 栈(后进先出 LIFO) 函数调用栈:递归、方法调用,保存返回地址括号匹配:有效括号、HTML标签匹配表达式求值:逆波兰表达式、计算器浏览器后退、编辑器撤销二叉树非递归遍历、DFS深度优先搜索最小栈、单调栈:找下一个更大元素、滑动窗口 队列(先进先出 FIFO) 消息队列、任务调度:线程池、异步任务、生产者消费者广度优先 BFS:二叉树层序遍历、迷宫最短路径缓冲区:IO缓冲区、打印队列滑动窗口、单调队列:求最大值、区间最值排队系统:医院挂号、点餐叫号 一句话区分 栈:处理最近产生的数据(撤销、调用、括号)队列:处理先来先服务的数据(排队、任务、BFS)