栈 & 队列 应用场景

栈 & 队列 应用场景

栈(后进先出 LIFO)

  1. 函数调用栈:递归、方法调用,保存返回地址
  2. 括号匹配:有效括号、HTML标签匹配
  3. 表达式求值:逆波兰表达式、计算器
  4. 浏览器后退、编辑器撤销
  5. 二叉树非递归遍历、DFS深度优先搜索
  6. 最小栈、单调栈:找下一个更大元素、滑动窗口

队列(先进先出 FIFO)

  1. 消息队列、任务调度:线程池、异步任务、生产者消费者
  2. 广度优先 BFS:二叉树层序遍历、迷宫最短路径
  3. 缓冲区:IO缓冲区、打印队列
  4. 滑动窗口、单调队列:求最大值、区间最值
  5. 排队系统:医院挂号、点餐叫号

一句话区分

  • :处理最近产生的数据(撤销、调用、括号)
  • 队列 :处理先来先服务的数据(排队、任务、BFS)
相关推荐
炸膛坦客9 小时前
单片机/C/C++八股:(二十六)IIC 专题(I²C)---- 上集
c语言·c++·单片机
旖-旎9 小时前
LeetCode 518:零钱兑换||(完全背包)—— 题解
c++·算法·leetcode·动态规划·背包问题
Henry Zhu12310 小时前
C++中的特殊成员函数与智能指针
c++
_wyt00112 小时前
多重背包问题详解
c++·背包dp
Ljwuhe13 小时前
C++——多态
开发语言·c++
延凡科技14 小时前
多场景落地复盘:端边云架构无人机智能巡检系统设计与实践
大数据·数据结构·人工智能·科技·架构·无人机·能源
越甲八千14 小时前
STL stack为何没有迭代器
c++
从零开始的代码生活_15 小时前
C++ 继承详解:访问控制、对象模型、菱形继承与设计取舍
开发语言·c++·后端·学习·算法
云小逸15 小时前
【C++ 第七阶段:模板、泛型编程与工程综合详解】
开发语言·c++
GIS阵地16 小时前
QgsSingleBandPseudoColorRenderer 完整详解(QGIS 3.40.13 C++)
开发语言·前端·c++·qt·qgis