1、抽象数据类型
1.1 相关定义
- 数据类型:是指一组性质相同的值的集合及定义在此集合上的一些操作的总称。
- 例如:整型、浮点型、字符型这些指的就是数据类型。
例如在C语言中,按照取值的不同,数据类型可以分为两类:
- 原子类型:不可以再分解的基本类型,例如:整形、浮点型、字符型等。
- 结构类型:由若干个类型组合而成,可以再分解,例如整型数组是由若干个整型数据组成的。
1.2 抽象数据类型
- 抽象:是指抽出事物具有的普遍性的本质;
- 抽象数据类型类型(Abstract Data Type,ADT):是指一个数学模型及定义在该模型上的一组操作。抽象数据类型的定义仅取决于它的一组逻辑特性,与其在计算机内部如何表示和实现无关。例如我们定义一个坐标point由x、y、z三个整型数据组合,那么point就是一个抽象数据类型。
1.3 抽象数据类型标准格式
ADT 抽象数据类型名Data数据元素之间逻辑关系的定义Opreration操作endADT
2、线性表
1.1 线性表定义
线性表:由零个或多个数据元素组成的有限序列。
- 首先,它是一个序列,元素之间是有顺序的,元素之间有一个先来后到。
- 若元素存在多个,则第一个元素无前驱,最后一个元素无后继,其他元素有且只有一个前驱和后继。
- 另外,线性表强调是有限的,事实上无论计算机发展到多强大,它所处理的数据都是有限的。
数学语言定义线性表
- 若将线性表记为(a,…a,a,a,…a),则a是a的前驱元素,a是a的后继元素;
- 线性表的元素个数为n(n>=0),定义为线性表的长度;
- 当n=0时,称为空表;
1.2 线性表抽象数据类型的定义
ADT 线性表(List)Data数据对象集合和为{a1, a2,...,an}数据类型为:DataType当线性表有多个元素时,第一个元素无前驱,最后一个元素无后继,其他元素有且只有一个前驱和后继OperationInitList(*L):初始化,建立一个空的线性表LListEmpty(L):判断线性表L是否为空表ListLength(L):返回线性表L的长度GetElem(L, i, *e):获取线性表L中第i个位置的元素值并返回LocateElem(L, e):在线性表L中查找给定值e,如果查找成功则返回该元素在表中的序号(索引),否则返回0表示失败ListInsert(*L, i, e):在线性表L中第i个位置,插入新元素eListDelete(*L, i, *e):删除线性表L中的第i个位置的元素,并用e返回ListClear(*L):清空线性表LendADT
**
原文链接:https://blog.csdn.net/weruse/article/details/104592352
