![深入浅出数据结构与算法(微课视频版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/68/47216068/b_47216068.jpg)
上QQ阅读APP看书,第一时间看更新
1.4.2 抽象数据类型的描述
对于初学者来说,抽象数据类型不太容易理解,用一大堆公式会让不少读者迷茫,因此,本书采用通俗的语言去讲解抽象数据类型。本书把抽象数据类型分为两部分来描述,即数据对象集合和基本操作集合。其中,数据对象集合包括数据对象的定义及数据对象中元素之间关系的描述,基本操作集合是对数据对象的运算的描述。数据对象和数据关系的定义可采用数学符号和自然语言描述,基本操作的定义格式如下。
基本操作名(参数表):初始条件和操作结果描述.
例如,集合Set的抽象数据类型描述如下。
1.数据对象集合
集合Set的数据对象集合为{a1,a2,…,an},每个元素的类型均为DataType。
2.基本操作集合
(1)InitSet(&S):初始化操作,建立一个空的集合S。
(2)SetEmpty(S):若集合S为空,返回1,否则返回0。
(3)GetSetElem(S,i,&e):返回集合S的第i个位置元素值给e。
(4)LocateElem(S,e):在集合S中查找与给定值e相等的元素,如果查找成功返回该元素在表中的序号,否则返回0。
(5)InsertSet(&S,e):在集合S中插入一个新元素e。
(6)DelSet(&S,i,&e):删除集合S中的第i个位置元素,并用e返回其值。
(7)SetLength(S):返回集合S中的元素个数。
(8)ClearSet(&L):将集合S清空。
(9)UnionSet(&S,T):合并集合S和T,即将T中的元素插入到S中,相同的元素只保留一个。
(10)DiffSet(&S,T):求两个集合的差集,即S-T,即删除S中与T中相同的元素。
(11)DispSet(S):输出集合S中的元素。
基本操作实现如下。
![](https://epubservercos.yuewen.com/9BEBAE/26580589709972006/epubprivate/OEBPS/Images/Figure-P19_65921.jpg?sign=1738938016-KsgYgHiunHJKDnzO4oJfjoH8MyJ4DpHT-0-7e0155cb30e5a3d8a93a578d74109f5d)
![](https://epubservercos.yuewen.com/9BEBAE/26580589709972006/epubprivate/OEBPS/Images/Figure-P20_65922.jpg?sign=1738938016-IA1a1O99ID7dBBB7eAp0549Wdjj2z874-0-0814194f81dfcf5de60bcbac36e2d2e4)
![](https://epubservercos.yuewen.com/9BEBAE/26580589709972006/epubprivate/OEBPS/Images/Figure-P21_65923.jpg?sign=1738938016-9IysqPHSrw6PWmr8Hun1PZqywZRr4fvW-0-5056927f0d3667cf7257fa83d9230cd3)