抽象数据类型
2020-01-07 本文已影响0人
ClementGu
数据类型
数据类型是一个值的集合定义在这个值集上的一组操作的总称。
抽象数据类型 (Abstract Data Type)ADT
抽象数据类型是指一个数学模以及定义在该模型上的一组操作。
其本质也是数据类型,区别是其数据类型的数学抽象特性,跟其在计算机内如何表示和实现无关。
举例 定义一个三元组
ADT Triplet{
数据对象:D = {e1,e2,e3|e1,e2,e3∈ElemSet(定义了关系运算的某个集合)}
数据关系:R1 = {<e1,e2>,<e2,e3>}
基本操作:
InitTriplet(&T,v1,v2,v3)
操作结果:构造了三元组T,元素e1,e2和e3分别被赋以参数 v1,v2,v3的值。
Destroytriplet(&T)
操作结果:三元组T被销毁。
Get(T,i,&e)
初始条件:三元组T已经存在,1≤i≤3
操作结果:用e返回T的第i元的值
Put(&T,i,e)
初始条件:三元组T已经存在,1≤i≤3
操作结果:改变T的第i元的的值为e
IsAscending(T)
初始条件:三元组T已经存在
操作结果:如果T的3个元素按升序排列,则返回1,否则返回0
IsDescending(T)
初始条件:三元组T已经存在
操作结果:如果T的3个元素按降序排列,则返回1,否则返回0
Max(T,&e)
初始条件:三元组T已经存在
操作结果:用e返回T的3个元素中的最大值
Min(T,&e)
初始条件:三元组T已经存在
操作结果:用e返回T的3个元素中的最小值
} ADT Triplet
注
1位真0为假
抽象数据的表示和实现
抽象数据类型可以通过固有的数据类型来表示和实现,及利用处理器中已经存在的数据类型来说明新的结构,用已经实现的操作来组合新的操作。