一.线性表的定义和基本操作:
1.线性表的定义:
n个类型相同的数据元素按照顺序组合起来的结构,长度为n
若L为线性表,则线性表表示为:L=(a1,a2,a3,…,an)
2.线性表的九种操作:
二.线性表的顺序表示
1.顺序表
顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储;即通过数据元素物理存储的连续性来反应元素之间逻辑上的相邻关系。
采用顺序存储结构存储的线性表通常简称为顺序表。
2.顺序表的特点:
1.空间连续;
2.支持随机访问;
3.在中间或前面部分的插入删除时间复杂度为O(n),增容的代价比较大;
4.顺序表的优点:更适合频繁访问第n个元素的场景;
(1)根据下标随机访问时间复杂度为O(1);
(2)不会造成内存碎片化;
(3)缓存更优化;
(4)代码简单;
3.顺序表的存储结构示意图:
假设线性表中有n个元素,每个元素占k个单元;则第一个元素的地址为Loc(a1),第i个元素的地址为Loc(ai);
Loc(ai)=Loc(a1) + (i-1) * k; Loc(a1)称为基地址;