数据结构 线性结构
关于线性结构的笔记
数据结构 线性结构
线性结构
多项式表示
- 数组表示
- 直接表示
- 表示非零项
- 链表存储非零项
多项式问题的启示:
- 同一个问题可以有不同的表示(存储)方法
- 引出的一系列问题的共性 管理一个有序的线性序列的问题 —— 这里归结为 线性表的问题
线性表(Linear List)
def: 由同类型数据元素构成有序序列的线性结构
- 表中元素个数 为线性表的长度
- 线性表没有元素时,称为空表
- 表起始位置称表头,表结束位置称表尾
对应抽象数据类型描述
类型名称:线性表(List)
数据对象集:线性表是 n($\geq$)个元素构成的有序序列($a_1, a_2, …, a_n$)
操作集:线性表$L\in List$,整数 i 表示位置,元素$X\in ElementType$, 线性表的主要操作有:
- List MakeEmpty(): 初始化一个空线性表;
- ElementType FindKth( int K, List L ): 根据位序K,返回相应元素;
- int Find( ElementType X, List L ): 在线性表 L 中查找 X 的第一次出现的位置;
- void Insert( ElementType X, int i, List L ): 在位序 i 前插入一个新元素 X;
- void Delete( int i, List L ): 删除指定位序 i 的元素;
- int Length( List L ): 返回线性表 L 的长度n。
得到平均时间复杂度步骤:
- 考虑所有情况S
- 计算总次数N
- 平均复杂度 = N / S
This post is licensed under CC BY 4.0 by the author.