大话数据结构六:特殊的线性表(栈)
来源:互联网 发布:天猫精灵 知乎 编辑:程序博客网 时间:2024/06/09 15:50
1. 什么是栈?
栈(stack)是限定仅在表尾进行插入和删除操作的线性表。
2. 栈的特点:
1.) 栈又称为后进先出(Last In First out)的线性表,栈元素具有线性关系,即前驱后继关系。
2.) 栈的特殊之处在于:它的栈底是固定的,只允许在栈顶进行插入和删除操作。
3. 栈的顺序存储结构(Java数组实现):
4. 栈的链式存储结构(Java链表实现):
5. 两种实现方式比较:
通过入栈和出栈时间比较可以看出,数组实现在性能上还是有明显优势的,这是因为数组实现的栈在增加和删除元素时并不需要移动大量的元素,只是在扩大数组容量时,需要进行拷贝。然而链表实现的栈在入栈时需要将数据包装成Node,出栈时需要从Node中取出数据,同时还要维护栈顶指针和前驱指针。
6. JDK API中的栈:
1.) java.util.Stack: 一个普通的顺序栈,底层基于数组实现。这个类是线程安全的。
2.) java.util.LinkedList: 一个双向链表,线程不安全,可以当做栈来使用。在多线程环境下可以使用Collections类的工具方法将其改造成线程安全类。
3.) 两个类都提供了push(),pop(),peek()等方法。
0 0
- 大话数据结构六:特殊的线性表(栈)
- 大话数据结构六:特殊的线性表(栈)
- 【大话数据结构】特殊线性表:栈与队列
- 大话数据结构---线性表
- 大话数据结构(二)线性表的基本知识点
- 大话数据结构(三)线性表
- 大话数据结构读书笔记(三)-线性表
- linux--线性表(大话数据结构)
- 大话数据结构:线性表(1)
- 大话数据结构:线性表(2)
- 大话数据结构:线性表(3)
- 大话数据结构:线性表(3)
- 大话数据结构笔记-线性表
- 大话数据结构一:线性表的顺序存储结构
- 大话数据结构一:线性表的顺序存储结构
- 大话数据结构-时间复杂度,线性表,栈,队列
- 大话数据结构读书笔记(2)----线性表(1)
- 大话数据结构读书笔记(2)----线性表(2)
- JSP application内置对象
- hdu2586 LCA 离线算法
- mysql round 1
- PTA 数据结构与算法题目集(中文)5-1 最大子列和问题 (20分)
- Louvain 社团发现算法学习(我的java实现+数据用例)
- 大话数据结构六:特殊的线性表(栈)
- gdb可以用于分析core文件
- 并发编程--CyclicBarrier屏障
- 算法细节系列(9):动态规划之01背包
- uubuntu 中的mysql数据库如何开启远程连接
- 苹果审核-(三)—— 苹果公司联系邮箱大全
- 小公司网站怎么样才能做自己的外部链接优化呢
- NYOJ 469 擅长排列的小明
- leetcode 383. Ransom Note