栈和队列
来源:互联网 发布:安卓和python 编辑:程序博客网 时间:2024/05/20 07:38
栈是限定仅在表尾进行插入和删除操作的线性表
(一)概念
1.允许插入和删除的一端称为栈顶,另一端称为栈底
2.栈又称为后进先出的线性表
3.栈的插入操作,叫做进栈
4.栈的删除操作,叫做出栈
(二)顺序存储结构——顺序栈
1.下标为0的一端作为栈底
2.两栈共享空间:让一个栈的栈底作为数组的始端,即下标为0处,另一个栈的栈底为数组的末端,即下标为数组长度n-1处
(三)链式存储结构——链栈
1.栈顶放在单链表的头部
PS:对比一下顺序栈跟链栈,进栈出栈的时间复杂度是一样的,都是O(1)
队列是只允许在一端进行插入操作,而在另一端进行删除操作的线性表
(一)概念
1.允许插入的一端称为队尾,允许删除的一端称为队头
2.队列又称为先进先出的线性表
3.队列的插入操作,叫做入队
4.队列的删除操作,叫做出队
(二)顺序存储结构——顺序队列
1.数组下标为0的一端就是队头
2.入队操作只需在队尾增加元素,不需要移动任何元素,时间复杂度为O(1)
3.出队操作需要队列中的所有元素向前移动,时间复杂度为O(n)
PS:循环队列
1.我们将队列的头尾相接的顺序存储结构称为循环队列
2.队头指针指向队头元素,队尾指针指向队尾元素的下一个位置
(三)链式存储结构——链式队列
1.队头指针指向头结点,队尾指针指向终端结点
0 0
- 栈和队列--队列
- 【栈和队列】队列
- 栈、队列和优先队列
- 栈和队列(队列)
- 栈和队列--栈
- 【栈和队列】栈
- 栈和队列
- 栈和队列
- 表、栈和队列
- 栈和队列
- 栈和队列应用
- 栈和队列
- 栈和队列
- 栈和队列
- 栈和队列
- 栈和队列
- 队列和栈
- 栈和队列 小结
- C++ enum
- 单源最短路径之Bellman-Ford 算法
- UML-实现图(构件图和部署图)
- POJ2777线段树(结构体指针实现)
- swift语言主流学习文档
- 栈和队列
- iOS安全:反汇编(inline编译方式)
- java的反射机制(含数组参数)
- hdu 5179 beautiful number【数位dp】
- RxJava系列之一:观察者模式
- 关于人类的未来
- 三层登录——vb.net
- 51 nod 1264 线段相交
- 使用Apache Jmeter进行并发压力测试