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