数据结构概念(20190116)
数据结构
- 数据元素之间存在一种或多种特定的关系的集合
- 逻辑结构
- 集合
- 有相同性质的一组元素组成的元素集
- 线性表
- 元素集的首元素没有前驱,尾元素没有后继,中间元素都有前驱和后继。
- 树
- 图
- 集合
- 存储结构
- 顺序存储结构
- 元素集的存储空间是连续的,那么该元素集的存储结构就是“顺序存储结构”。
- 链式存储结构
- 元素集的首尾元素的存储单元只存储本身信息。中间元素的存储单元除了存储本身信息外,还存储了下一个元素的地址。那么该元素集的存储结构就是“链式存储结构”。
- 顺序存储结构
线性表
- 顺序存储结构的线性表
- 线性表的元素的存储单元是连续的,那么该线性表就叫“顺序存储结构的线性表”。
- 优缺点:查询快,增删慢
- ArrayList是顺序存储结构的线性表
- 作业:熟读ArrayList源码
- 链式存储结构的线性表
- 线性表的元素的存储单元是链式的,那么该线性表就叫“链式存储结构的线性表”
- 优缺点:增删快,查询慢
- 进一步拓展
- 单链表
- 首尾元素的存储单元只存储本身信息。中间元素的存储单元除了存储本身信息外,还存储了下一个元素的地址。
- 循环链表
- 所有元素的存储单元都存有本身信息和下一个元素的地址,首尾相连形成环状。
- 双向循环链表
- 所有元素的存储单元都存有本身信息,上一个元素的地址和下一个元素的地址。首尾相连形成环状。
- 单链表
数据类型
一组性质相同的元素组成的元素集,以及定义在此集上的一些操作,合成数据类型。
抽象数据类型
数据类型的抽象形态