- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 集合
第8章集合
以集合为基础的抽象数据类型
集合的定义和记号
定义在集合上的基本运算
用位向量实现集合
用链表实现集合
应用举例
2016/10/18 1
8.1 以集合为基础的抽象数据类型
集合是表示事物的最有效的数学工具之一,生活中也随
处可见集合的例子。
如:银行中所有储户帐号的集合;图书馆中所有藏书的
集合;一个程序中所有标识符的集合;2003级34班全体
同学的集合等。
在数据结构和算法的设计中,集合是许多重要抽象数据
类型的基础。
2016/10/18 2
8.1.1 集合的定义
集合:集合是由元素(成员)组成的一个类。集合的成
员可以是一个集合,也可以是一个原子。
原子:不可再分的元素。
多重集合:允许同一元素在集合中多次出现的集合。
有序集:当由原子组成的集合具有线性序关系“”时,
称该集合为有序集。“”是集合的一个线性序,它满足:
(1)若a、b是集合中任意2个原子,则ab,a=b和ba三者
必居其一;
(2)a,b和c是集合中的原子,且ab,bc则ac(传递
性)。
2016/10/18 3
8.1.1 集合的定义
记录:集合中的元素通常是记录。
项(域):元素的属性。元素通常有多个项。
键(值):能唯一地标识元素的值。它也是元素的属性。
有序集通常以键(值)的序为序。
为方便叙述,常将一个元素当作一个键来处理,但要
记住键只是元素记录中许多域中的一个域。
2016/10/18 4
8.1.2 集合的记号
枚举式:把集合的元素枚举在一对花括号中。
例如{1,4 }表示由1和4两个元素组成的集合。集合中
元素的枚举顺序是任意的。例如{1,4 }和{4 ,1 }表
示同一集合。
这种方式只对有穷集可行。
解析式:把集合的元素应满足的条件解析地表达在一
对花括号中。
2
例如 {x |存在整数y,使x = y }表示由全体完全平方
数组成的集合。
这种方式既可表示有穷集,又可表示无穷集。
2016/10/18 5
8.1.3 定义在集合上的基本运算
约定:其中大写字母表示一个集合,小写字母表示集合
中的一个元素。
SetUnion(A,B):并集运算
SetIntersection(A,B):交集运算
SetDifference(A,B) :差集运算
SetAssign(A,B) :赋值运算(将B的值赋给A)
SetEqual(A,B) :判等运算
SetMember(x,S) :成员运算(x是否属于S)
SetInsert(x,S) :插入运算
SetDelete(x,S) :删除运算
2016/10/18 6
8.2 用位向量实现集合
位向量是一种每个元素都是二进制位(即0/1值)的数
组。
当所讨论的集合都是全集合{1,2,…,n }的子集,而且n
是一个不
原创力文档


文档评论(0)