计算机数据结构术语
数据:指所有能输入到计算机中被处理的符号的总称。
数据元素:数据的基本单位,作为一个整体进行考虑和处理,可由若干个数据项组成(例如结构体),而数据项是数据的不可分割的最小单位。(俗指:某种数据类型)
数据对象:性质相同的数据元素的集合,是数据的一个子集。
数据结构:数据元素相互之间存在一种或多种特定关系的数据元素的集合(例线性表的一对一,树形的一对多)。
数据类型:一个值的集合和定义在这个值集上的一组操作的总称(例对于整型变量的加减等)。
抽象数据类型:指一个数学模型以及定义在该模型上的一组操作。
抽象数据类型的三元组的定义:(abstract data type) ADT
ADT Triplet{
数据对象:<数据对象的定义>
数据关系:<数据关系的定义>
基本操作:<基本操作的定义>
格式:基本操作名(参数表)
初始条件:<初始条件描述>
操作结果:<操作结果描述>
}ADT 抽象数据类型名
例如:线性表的ADT
ADT List{
数据对象:D = {ai | ai 属于ElemSet, i = 1,2,....,n}
数据关系:R1 = { < a(i-1) , ai > | ai-1 ,ai 属于D,i = 1,2,....,n}
基本操作:
InitList(&L);
操作结果:构造一个空的线性表L。
Destroy(&L);
初始条件:线性表L已存在。
操作结果:销毁线性表。
ClearList(&L);
初始条件:线性表L已存在。
操作结果:将L重置为空表。
ListEmpty(L);
初始条件:线性表L已存在。
操作结果:L为空白则返回TRUE,否则返回FALSE。
ListLength(L);
初始条件:线性表L已存在。
操作结果:返回L中数据元素个数。
GetElem(L, i, &e);
初始条件:线性表L已存在, 1<=i<=ListLength(L)。
操作结果:L为空白则返回TRUE,否则返回FALSE。
LocateElem(L, e, compare() )
初始条件:线性表L已存在,compare()是数据元素判定函数。
操作结果:返回L中第1个域e满足关系compare()的数据元素位序,不存在返回0.
PriorElem(L, cur_e, &pre_e)
初始条件:L存在。
操作结果:若cur_e是L的数据元素,且不是第一个,则用pre_e返回它的前驱,否则pre_e无定义。
NextElem(L, cur_e, &next_e)
初始条件:L存在。
操作结果:若cur_e是L的数据元素,且不是最后一个,则用next_e返回它的后继,否则next_e无定义。
ListInsert(&L, i ,e);
初始化条件:L存在,1<=i<=ListLength(L)+1。
操作结果:在L中第i个位置之前插入新的数据元素e,L长度+1.
ListDelete(&L, i, &e)
初始化条件:L存在,1<=i<=ListLength(L)。
操作结果:删除第i个数据元素,并用e返回其值,L长度-1.
ListTraverse(L, visit() )
初始条件:L存在。
操作结果:依次对L的每个数据元素调用函数vist()。一旦失败则操作失败。
}ADT List
多形数据类型:指数据对象其值的成分不确定的数据类型(说明可根据需求自由定义类型)。
其余的不做赘述。