数据结构-20200401-03栈和队列
一、栈和队列:是操作受限的线性表
栈:限定只在表尾进行插入或删除操作的线性表,后进先出LIFO
栈顶top:表尾
栈底bottom:表头
插入元素的操作是入栈,删除元素的操作为出栈。
顺序栈:栈的顺序存储结构
链式栈:栈的链式存储结构
栈的基本操作:8个
二、栈的应用举例
1. 数值转换,2进值,10进值
2. 括号匹配检测,([{[]}])
3. 行编辑程序,退格,清空行
4. 迷宫求解,合适的路径mazepath
5. 表达式求值,运算法则和优先级
6. 栈与递归实现斐波那契序列,递归实现
7. 递归实现汉诺塔Hanoi,递归方便易懂,易理解
三、队列:一种先进先出的线性表,FIFO。队头删除出队,队尾插入入队。
队列的基本操作:8个
队列队数据元素类型在应用程序内定义。
双端队列:两个队头和两个队尾。
链式队列:采用链表的形式存储队列。
循环队列:队列的顺序表示和实现
四、队列的应用举例:
1. 离散事件模拟,银行排队