1 / 147
文档名称:

7 集合与搜索.ppt

格式:ppt   页数:147
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

7 集合与搜索.ppt

上传人:中国课件站 2011/9/6 文件大小:0 KB

下载得到文件列表

7 集合与搜索.ppt

文档介绍

文档介绍:集合及其表示
并查集
静态搜索表
二叉搜索树
AVL树
第七章集合与搜索
集合基本概念
集合及其表示
集合是成员(对象或元素)的一个群集。集合中的成员可以是原子(单元素),也可以是集合。
集合的成员必须互不相同。
在算法与数据结构中所遇到的集合,其单元素通常是整数、字符、字符串或指针,且同一集合中所有成员具有相同的数据类型。
colour = { red, orange, yellow, green, black, blue, purple, white }
name = { “An”, “Cao”, “Liu”, “Ma”, “Peng”, “Wang”, “zhang”}
集合中的成员一般是无序的,但在表示它时,常写在一个序列里。
常设定集合中的单元素具有线性有序关系,此关系可记作“<”,表示“优先于”。
整数、字符和字符串都有一个自然线性顺序。指针也可依据其在序列中安排的位置给予一个线性顺序。
集合(Set)的抽象数据类型
template <class Type> class Set {
Set (int MaxSetSize) : MaxSize(MaxSetSize);
void MakeEmpty (Set& s);
int AddMember (Set& s, const Type x);
int DelMember (Set& s, const Type& x);
AB 或 A+B AB 或 AB A-B
A
A
A
B
B
B
void Assign (Set& s1, Set& s2);
void Union (Set& s1, Set& s2);
void Intersection (Set& s1, Set& s2);
void Difference (Set& s1, Set& s2);
int Contains (Set& s, const Type& x);
int Equal (Set& s1, Set& s2);
int SubSet (Set& s1, Set& s2);
}
用位向量实现集合抽象数据类型
当集合是全集合{ 0, 1, 2, …, n }的一个子集,且 n是不大的整数时,可用位(0, 1)向量来实现集合。
当全集合是由有限的可枚举的成员组成的集合时,可建立全集合成员与整数 0, 1, 2, …的一一对应关系,用位向量来表示该集合的子集。
集合的位向量(bit Vector)类的定义
#include <>
const int DefaultSize = 100;
class Set {
private:
int * bitVector;
int MaxSize;
public:
Set ( int MaxSetSize = DefaultSize );
~Set ( ) { delete [ ] bitVector; }
void MakeEmpty ( ) {
for ( int i = 0; i < MaxSize; i++ )
bitVector[i] = 0;
}
int GetMember ( const int x ) {
return x >= 0 && x < MaxSize ?
bitVector[x] : -1; }
int AddMember ( const int x );
int DelMember ( const int x );
Set& operator = ( Set& right );
Set& operator + ( Set& right );
Set& operator * ( Set& right );
Set& operator - ( Set& right );
int Contains ( const int x );
int SubSet ( Set& right );
int operator == ( Set& right );
};
使用示例
Set s1, s2, s3, s4, s5; int index, equal;
for ( int k = 0; k < 10; k++ ) //集合赋值
{ ( k ); ( k +7 ); }
// s1 : { 0, 1, 2, …, 9 }, s2 : { 7, 8, 9, …, 16 }
s3 = s1+s2; //求s1与s2的并{ 0, 1, …, 16 }
s4 = s1*s2; //求s1与s2的交{ 7, 8, 9 }
s5 = s1-s2; //求s1

最近更新

2024年辽宁经济职业技术学院单招职业倾向性测.. 39页

2024年辽宁铁道职业技术学院单招职业技能测试.. 39页

2024年运城幼儿师范高等专科学校单招职业技能.. 39页

2024年遂宁职业学院单招职业技能测试题库含答.. 40页

2024年邢台应用技术职业学院单招职业技能测试.. 40页

2024年邵阳职业技术学院单招综合素质考试题库.. 40页

2024年郑州医药健康职业学院单招职业适应性考.. 41页

2024年郑州工业应用技术学院单招职业适应性测.. 40页

2024年郑州黄河护理职业学院单招职业技能测试.. 40页

2024年酒泉职业技术学院单招职业技能测试模拟.. 39页

2024年重庆商务职业学院单招职业倾向性测试题.. 41页

2024年重庆文理学院单招职业技能测试模拟测试.. 40页

2024年重庆科技大学单招职业适应性考试题库新.. 40页

2024年金山职业技术学院单招职业适应性考试模.. 41页

2024年铁门关职业技术学院单招职业适应性测试.. 40页

2024年锦州师范高等专科学校单招职业技能考试.. 40页

2024年长江工程职业技术学院单招职业倾向性考.. 40页

2024年长沙商贸旅游职业技术学院单招职业倾向.. 40页

2024年闽北职业技术学院单招职业技能测试模拟.. 39页

2024年阜阳科技职业学院单招职业倾向性考试模.. 41页

2024年阳泉职业技术学院单招综合素质考试模拟.. 41页

2024年陕西交通职业技术学院单招综合素质考试.. 39页

2024年陕西工商职业学院单招职业适应性考试题.. 40页

2024年陕西省宝鸡市单招职业倾向性测试模拟测.. 40页

2024年陕西能源职业技术学院单招综合素质考试.. 41页

2024年陕西邮电职业技术学院单招综合素质考试.. 39页

2025年广州卫生职业技术学院单招职业技能测试.. 64页

美团代运营业务委托合同 6页

九年级家长会课件PPT下载(初三2班) 25页

山东科技版小学英语五年级下册词汇表带音标 4页