数据结构
栈树图
1 线性表
线性表是n个数据特性相同的元素的组成有限序列,是最基本且常用的一种线性结构,为其他数据结构的基础。
两种实现方式,即顺序表和链表。
1.1 数组/顺序表
用一组地址连续的存储单元依次存储线性表的数据元素,这种存储结构的线性表称为顺序表。只要确定好了存储线性表的起始位置,线性表中任一数据元素都可以随机存取,所以线性表的顺序存储结构是一种随机存取的储存结构。
JAVA实现
- ArrayList
底层是以数组为基础实现的线性表。
1.2 链表
用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的),包括数据域和指针域,数据域存数据,指针域指示其后继的信息。
JAVA实现
- LinkedList
底层是以链表为基础实现的线性表
队列
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,先入先出,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。参考百度百科
JAVA实现,详细参考
LinkedList实现 Deque泛型接口
Deque接口继承Queue接口