三、 栈和队列
1. 栈
1. 栈的基本概念
- 栈的定义
- 栈的基本操作
2. 栈的顺序存储结构
- 顺序栈的实现
- 顺序栈的基本运算
- 共享栈
3. 栈的链式存储结构
2. 队列
1. 队列的基本概念
- 队列的定义
- 队列常见的基本操作
2. 队列的顺序存储结构
- 队列的顺序存储
- 循环队列
- 循环队列的操作
3. 队列的链式存储结构
- 队列的链式存储
- 链式队列的基本操作
- 双端队列
3. 栈和队列的应用
1. 栈在括号匹配中的应用
2. 栈在表达式求值中的应用
- 将中缀表达式转换为后缀表达式的算法思想如下 :
a) 从左向右开始扫描中缀表达式;
b) 遇到数字时,加入后缀表达式;
c) 遇到运算符时:
i. 若为‘(’,入栈;
ii. 若为‘)’,则依次把栈中的运算符加入后缀表达式,直到出现‘(’,从栈中删除‘(’;
iii. 若为除括号外的其他运算符,当其优先级高于除‘(’以外的栈顶运算符时,直接入栈。否则从栈顶开始,依次弹出比当前处理的运算符优先级高和优先级相等的运算符,直到一个比它优先级低的或遇到了一个左括号为止。
d) 当扫描的中缀表达式结束时,栈中所有运算符依次出栈加入后缀表达式。
3. 栈在递归中的应用
4. 队列在层次遍历中的应用
5. 队列在计算机系统中的应用
4. 特殊矩阵的压缩存储
1. 数组的定义
2. 数组的存储结构
3. 矩阵的压缩存储
- 对称矩阵
- 三角矩阵
- 三对角矩阵
- 稀疏矩阵