数据结构 linear_list=(D,R) 这是什么式子,这表示什么?

大哥大姐,打扰一下,数据结构 linear_list=(D,R) 这是什么式子,这表示什么?
最新回答
相思故

2024-04-26 10:45:26

用二元组表示为: Linear_list=(D,R) D={ ai | 1≤i≤n,n≥0, ai∈elemtype} /* elemtype 为任何数据类型
线性表(Linear _List) n(n>=0)个数据元素的有限序列,数据元素之间具有线性关系。记作:(a1,a2,a3,......an)ai是数据元素
线性关系:除第一个元素外,每个元素有且仅有一个前驱;除最后一个元素外,每个元素有且仅有一个后继。
特点:数据元素之间的关系是它们在数据集合中的相对位置。
数据结构描述:
Linear_List=(D,R)
D={ai|ai∈Dn i=1,2....n, n≥0}
R={r}
r={<ai-1,ai>|ai-1,ai∈D0 i=2,3,4,.......} D0是某个数据对象
线性表的长度:线性表中含有数据元素的个数。
直接前驱:ai-1是ai的前驱 i=2,3,4,...n。
直接后继:ai+1是ai的后继 i=1,2,.....n-1。
表头元素:线性表中的第一个数据元素。
表尾元素:线性表中的最后一个数据元素。
空表:长度为0的线性表。
结点:通常指和一个数据元素相关的存储空间。
首元结点:在链式存储结构中,存储线性表中第一个数据元素的结点。
InitList(L):创建一个空的线性表L。
ListLength(L):初始化条件:存在线性表L。返回L的长度,空表时返回0。
ListEmpty(L):初始化条件:存在线性表。若L为空表,返回真(整数1);否则返回假(整数0)。
GetElem(L,i,&e):初始化条件:存在线性表L,且1≤i≤ListLength(L)。返回L中的第i个数据元素的值,否则提示出错信息。
ListInsert(L,i,e):将数据元素插入到线性表L的第i个元素之前。
ListDelete(L,i):删除线性表的第i个元素。
LocateElem(L,e):初始化条件:存在线性表L。返回L中第一个与e相等的数据元素的位序,若这样的元素不存在,则返回0。
ADT linear_list
{ data structure:
D={ai|ai∈D0 i=1,2,....... n>=0}
R={r}
r={<ai-1,ai>|ai-1,ai∈D0 i=2,3,4,....}
D0是某个数据对象
operations: ListInit(L) ListLength(L) ListEmpty(L) GetElem(L,i) ListInsert(L,i,e) ListDelete(L,i) LocateElem(L,e)
} ADT linear_list
按数据元素分:一般线性表、字符串、广义表、数组。
按实施操作分:N元组——不能进行插入、删除。一般线性表——可以在任何位置插入、删除。堆栈——只能在一端插入、删除。队列——插入在一端、删除在另一端。双端队列——在两端可以插入、删除。
顺序存储方式:用一组地址连续的存储单元依次存储线性表的各个元素。可借助一维数组实现。在顺序存储中,每个存储结点只含有所存储数据元素本身的信息,元素直接的逻辑关系是通过数组下标反映出来。
特点:存储空间必须是连续的,预分配;逻辑顺序与物理顺序一致,用物理上的相邻来表示逻辑上的线性关系;任意相邻元素之间无空闲空间,且距离为1;已知基地址,可以计算出任意元素的存储地址:LOC(ai)=base+(i-1)*L