Chapter 2 栈和队列
Chapter 2 栈和队列
1- 栈
当n个元素以某顺序进栈,可在任意时刻出栈,元素排列的顺序N满足Catalan()规则:
常用操作:
1 栈的初始化和定义:
2 元素x进栈:
3 元素x出栈:
2- 循环队列的操作(两个状态和两个操作)
状态:
1 队空:
2 队满:
操作:
1 进队:
2 出队:
3- 共享栈
//为了提高内存利用率和减少溢出而设计
4- 双端队列
双端队列
输入受限
输出受限
注:
1- 前后缀表达式的手工做法
1) 按运算符的优先级给所有式子加括号
2) 前缀:运算符放到括号前
后缀:运算符放到括号后
2- 栈和队列的应用:
1 栈在括号匹配中应用
2 栈在表达式求值中应用
3 栈在递归中应用
4 队列在层次遍历中应用
5 队列在计算机系统中应用
l 主机与外部设备速度不匹配(打印缓冲区)
l 多用户引起的资源竞争(CPU)