一般线性表
线性表的抽象数据类型定义
ADT List{
数据对象:D={ai|ai∈ElemSet,i=1,2,….,n,n>=0}
数据关系:R={
线性表的存储结构
线性表的顺序存储–借助数组实现。
线性表的链式存储
- 单链表
- 单循环链表
- 双向链表
顺序存储于链式存储对比
顺序存储:存储效率高,存取速度快,修改效率不高。
链式存储:修改效率高,存取效率不高。
顺序表和链表的时间性能分析
- 按位置所及访问操作:
- 顺序表:O(1);
- 单链表:o(n);
- 给定指定位置,插入和删除操作
- 顺序表:O(n);
- 单链表:O(1);
顺序表和链表的空间性能分析
- 顺序表密度高,链表可动态分配。
- 作为一般规律,当线性表中元素个数变化较大或者未知时,最好使用链表实现;而如果可以去顶线性表的长度,使用顺序表的空间效率会跟高。