什么是线性表
线性表(Linear Lsit):由同类型数据元素
构成有序序列
的线性结构;
👉 表中元素个数称为线性表的长度
;
👉 线性表没有元素时,称为空表
;
👉 表的起始位置称为表头
,表的结束位置称为表尾
;
线性表的抽象数据类型描述
抽象数据类型描述
类型名称:线性表(List);
数据对象集:线性表是n(n>=0)个元素构成的有序序列(a1,a2,a3....an);
操作集:线性表L∈List,整数i表示位置,元素X∈ElementType;
1、初始化一个空线性表L;
2、根据位序K,返回相应元素;
3、在线性中查找X的第一次出现位置;
4、在位序i前插入一个新元素X;
5、删除指定为序i的元素;
6、返回线性表L的长度n;
线性表的实现
【数组实现线性表】
- 初始化(建立空的顺序表)
- 查找 ---- O(n)
- 插入
- 删除
【链表实现线性表】
- 长度
- 查找
- 插入
- 删除
广义表
什么是广义表
二元多项式,表示为一元多项式。---> 广义表
👉 广义表是线性表的推广
;
👉 对于线性表而言,n个元素都是基本的单元
,而广义表中
,这些元素也可以是另一个广义表
;
c++语言中通过联合类型union解决共存问题,union可以把不同类型的数据组合在一起;