栈 & 队列 应用场景

栈 & 队列 应用场景

栈(后进先出 LIFO)

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

队列(先进先出 FIFO)

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

一句话区分

  • :处理最近产生的数据(撤销、调用、括号)
  • 队列 :处理先来先服务的数据(排队、任务、BFS)
相关推荐
ysu_03141 小时前
leetcode数据结构与算法5~7:链表双指针与二级指针
数据结构·学习·算法·leetcode·链表
薇茗1 小时前
【C++】类与对象 核心篇
开发语言·c++
ouliten1 小时前
C++笔记:偏现代C++日志系统
c++·笔记
猪脚饭还是好吃的1 小时前
【分享】C4droid 安卓C++编译器 手机编程超便捷
android·c++·智能手机
草莓熊Lotso1 小时前
【Linux网络】深入理解传输层 UDP 协议:从底层原理到实战应用
linux·运维·服务器·c语言·网络·c++·udp
小欣加油1 小时前
leetcode542 01矩阵
数据结构·c++·算法·leetcode·矩阵·bfs
原来是猿1 小时前
理解 C++ 哈希表的原理与工程实践
开发语言·c++·散列表
Lucky_ldy1 小时前
数据结构从入门到精通:链表的分类
数据结构·链表
牢姐与蒯1 小时前
c++数据结构之c++11(二)
开发语言·c++