栈 & 队列 应用场景

栈 & 队列 应用场景

栈(后进先出 LIFO)

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

队列(先进先出 FIFO)

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

一句话区分

  • 栈 :处理最近产生的数据(撤销、调用、括号)
  • 队列 :处理先来先服务的数据(排队、任务、BFS)
相关推荐
Logic1014 分钟前
C语言/数据结构数位DP题解:平滑排列数字统计——区间内相邻位差不超过K的数字个数
c语言·数据结构·动态规划·时间复杂度·数位dp·算法题·前导零处理
程序员老陆15 分钟前
C++ 多线程通信方式全景:从共享内存到结构化协调
开发语言·c++
某不知名網友37 分钟前
ROS2 核心通信:话题发布与订阅详解
开发语言·c++
C++ 老炮儿的技术栈39 分钟前
char (*csConnectName)[256]; 和 char csConnectName [256] 有什么区别
java·c语言·开发语言·c++·人工智能·算法·c
大鹏说大话1 小时前
C++ STL 容器怎么选?vector、list、map、unordered_map 对比
开发语言·c++·list
JMchen1 小时前
性能优化——让Native代码飞起来
android·c++·性能优化
chenbingjie_c1 小时前
手撕 C++ priority_queue:二叉堆 + 模板仿函数 + 模板特化(保姆级逐函数拆解)
开发语言·c++
wang09071 小时前
硬着头皮学数据结构和算法之Myers算法
数据结构·算法
小小龙学IT2 小时前
C++ Redis 客户端深度解析(hiredis 与 redis-plus-plus)——工业数采实时缓存 C++ 侧实战
c++·redis·缓存
垆边人似月.2 小时前
华为机试题 :最长递增子序列题目
数据结构·c++·算法·华为