栈是后进先出(LIFO)的线性数据结构,支持 push、pop 操作,广泛应用于函数调用、表达式求值等场景。
定义
栈遵循后进先出(LIFO, Last In First Out)原则,核心操作包括:
- push:栈顶添加元素
- pop:移除栈顶元素
- peek/top:查看栈顶元素
应用场景
| 场景 | 说明 |
|---|---|
| 函数调用栈 | 管理函数返回地址和参数 |
| 括号匹配 | 编译器检查括号配对 |
| 后缀表达式求值 | 逆波兰表达式计算 |
| 历史记录 | 浏览器前进/后退功能 |
相关算法
- [[找出全部合法的出栈序列]]
- [[判断序列的出栈合法性]]
- 深度优先搜索(DFS):图和树的遍历
- 迷宫求解:存储路径寻找路线
- 回溯算法:存储状态用于回退
张芷铭的个人博客
Comments