以下笔记来自王老师的视频截图:https://www.bilibili.com/read/cv3285768
目录
线性表的定义和特点
线性表的例子
线性表的逻辑特征
案例引入
一元多项式
数组c最多7项,最少0项
图书信息管理系统
总结
线性表的类型定义
<ai-1,ai> 序偶关系: 表明了ai-1 是ai的前驱,aI是ai-1的后继
基本操作
线性表的顺序表示和实现
元素存储位置的计算
线性表种任一数据元素都可以随机存取,所以线性表的顺序存储结构是一种随机存取的存储结构
线性表的特点
线性表的类型定义
线性表的顺序存储表示
顺序表示* 意图
如果是 SqList * L;
那么就用L -> length
线性表的基本操作
预定义常量和类型
线性表基本操作的实现
线性表L的初始化
这里用引用类型是 为了:对形参操作实际上也就是对实参操作
线性表的几个简单操作
顺序表的取值
数组从0开始,表从1开始
时间复杂度O(1) 随机存取
顺序表的查找算法
顺序表查找的算法分析 O(n)
平均查找长度
顺序表的插入算法
插入在中间和后面其他的要一次往后移
数组是0 - n 线性表是1 - n+1
&L说明插入完之后的线性表仍然是它自己
插入算法分析O(n)
n+1个位置都有可能插入
插入位置 移动次数
n+1 0
n 1
.. ..
1 n
顺序表的删除算法O(n)
第二步需要就保留,不需要就忽略。
删除算法的实现
删除算法的分析
位置 移动
1 n-1
2 n-2
................
n 0
平均移动次数:
表示成期望值
小结:
顺序表的优缺点