- 1
- 0
- 约6.06千字
- 约 32页
- 2017-12-11 发布于上海
- 举报
第七章 集合与检索
7.1 集合及其表示 7.1.1集合的定义 集合是成员(即对象,或称元素)的一个群集。集合中的成员可以是原子(单元素),也可以是集合。集合的成员必须是互不相同的,即同一个成员不能在集合中出现多次。 算法与数据结构中的集合,单元素通常简单类型 同一集合中所有成员具有相同的数据类型 集合中的成员一般是无序的,没有先后次序关系 集合元素的性质 若a, b是集合中的两个单元素,则ab, a==b, ab三者必居其一; 若a, b, c是集合中的三个单元素,且ab, bc,则ac。(传递性) 集合操作 求集合的并(union)、交(intersection)、差(difference)、判存在(contain)等。 7.1.2 集合的抽象数据类型定义 ADT Set { Data:S={si|i=1,2,…,n,n≥0}n=0时,S是空集合,其中si∩s j=Φ, (i,j=1,2,…,n), s1∪s2∪…∪sn=S Structure:成员之间的关系是一种完全松散的关系,同属一个结构S,集合的成员互不相同,成员次序无关紧要。 Operation: Set ( int MaxSetSize ) : MaxSize ( MaxSetSize ); //构造函数,建立集合结构并初始化。 7.1.2 集合的抽象数据类型定义 void MakeEmpty ( Set s ); //置空集合。 int AddMember ( Set s, DataType x ); //把新元素x加入到集合s之中。 int DelMember ( Set s, DataType x ); //把集合s中成员x删除。 void Assign ( Set s1, Set s2 ); //集合s1复制到集合s2。 void Union ( Set s1, Set s2 ); //求集合s1与集合s2的并,结果在s1。 void Intersection ( Set s1, Set s2 ); //求集合s1与集合s2的交,结果在s1。 7.1.2 集合的抽象数据类型定义 void Difference ( Set s1, Set s2 ); //求集合s1与集合s2的差,结果在s1。 int Contains ( Set s, DataType x ); //测试x是否是集合s的成员。 int Equal ( Set s1, Set s2 ); //测试集合s1与集合s2是否相等。 int SubSet ( Set s1, Set s2 ); //判断集合s2是否是集合s1的子集。 } 7.1.3用位向量实现集合 当集合是全集合{ 0, 1, 2, …, n }的一个子集,且n是不大的整数时,可用位(0, 1)向量来实现集合。 #include assert.h const int DefaultSize = 100; class Set { private: int * bitVector; //存储集合元素的位向量 int MaxSize; //向量大小 int size ; //集合中元素个数 public: Set ( int MaxSetSize = DefaultSize ); //构造函数 ~Set ( ) { delete [ ] bitVector; } //析构函数 void MakeEmpty ( ) { for ( int i = 0; i MaxSize; i++ ) bitVector[i] = 0; //置空集合 } int AddMember (int x ); //加入新成员x int DelMember (int x ); //删除老成员x int Contains (int x ); //判元素x是否是集合this的成员 int SubSet ( Set right ); //判集合this是否集合right的子集 int operator == ( Set right ); //判集合this与集合right是否相等 }; 7.2静态搜索结构 7.2.1搜索的定义 在数据
您可能关注的文档
- 班级趣事(新).ppt
- 班集体申报答辩.pptx
- 瑜伽初级体式详解-配图.doc
- 甘南藏区草原、丝绸之路动车体验精华8日之旅.PDF
- 甘肃农业大学消防控制室合并联网改造项目中标公告.PDF
- 生命文化学论纲.PDF
- 生物学七年级上册模拟试题(一).doc
- 甲午战争败于晚清领导集团的发展战略观.PDF
- 申万宏源集团股份有限公司章程.PDF
- 电子科大17秋《数据库程序设计基础》在线作业3.doc
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
原创力文档

文档评论(0)