栈
栈是一种操作受限的线性表,只允许在栈顶一端进行插入和删除,遵循”后进先出”(LIFO)原则。栈是递归、函数调用、表达式求值等大量算法的基础,也是各类考试的高频考点。
本章要解决的问题
如何利用”后进先出”这一特性解决问题?本章围绕栈的定义、两种存储实现(顺序栈与链式栈)以及经典应用(括号匹配、表达式求值等),帮助你理解栈为什么是”操作受限却用途广泛”的结构。
学习目标
- 理解栈的定义、特点与基本操作
- 掌握顺序栈的入栈、出栈、取栈顶实现与复杂度
- 掌握链式栈的实现与特点
- 掌握括号匹配、表达式求值等经典应用
- 能够判断给定出栈序列是否合法
章节导航
建议阅读顺序
基础路线:基本概念 → 顺序栈 → 链式栈,先掌握栈的定义和两种实现。
进阶路线:经典应用 → 总结,通过括号匹配与表达式求值理解栈的实际价值。
建议先掌握顺序栈与链式栈的实现与复杂度,再学习括号匹配和表达式求值等应用。判断出栈序列合法性是常考题型,务必通过栈模拟理解。
