『算法』线性表的定义

107 阅读2分钟

线性表

相关视频参考(来自动力节点):www.bilibili.com/video/BV13C…

相关资料下载:www.bjpowernode.com/?juejin

什么是线性表?

线性表:由零个或多个数据元素足证的有限序列。

首先,它是一个序列,元素之间有一个先来后到。若元素存在多个,则第一个元素无前驱,最后一个元素无后继,其他元素都有一个前驱和后继。

另外,线性表强调是有限的,事实上无论计算机发展到多强大,它所处理的数据都是有限的。允许有空表,线性表元素的个数n=0时,称为空表。

抽象数据类型

数据类型:是指一组性质相同的值的集合及定义在此集合上的一些操作的总称。

例如:整型、浮点型、字符型这些指的就是数据类型。

例如按照取值的不同,数据类型可以分为两类:

  • 原子类型:不可以再分解的基本类型,例如:整形、浮点型、字符型等。
  • 结构类型:由若干个类型组合而成,可以再分解,例如整型数组是由若干个整型数据组成的。

抽象类型:是指一个数学模型及定义在该模型上的一组操作。抽象数据类型的定义仅取决于它的一组逻辑特性,与其在计算机内部如何表示和实现无关。例如我们定义一个坐标point由x、y、z三个整型数据组合,那么point就是一个抽象数据类型。

线性表的类型定义

ADT LIST{
	数据对象:D={ai|ai属于elemset,(i=12,...n,n>=0)}
	数据关系:R ={<ai-1,ai>|ai-1,ai属于D,(i=2,3,...,n)}
	基本操作:
	initList(&L); //初始化
	DestroyList(&L); //销毁
	ListInsert(&L,i,e);//插入
	ListDelete(&L,i,&e);//删除
	...等等
}ADT Lis