《数据结构》陈慧南_第06章集合和搜索.ppt_第1页
《数据结构》陈慧南_第06章集合和搜索.ppt_第2页
《数据结构》陈慧南_第06章集合和搜索.ppt_第3页
《数据结构》陈慧南_第06章集合和搜索.ppt_第4页
《数据结构》陈慧南_第06章集合和搜索.ppt_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、南京市邮政大学电脑学院真惠男2006年九月,数据结构,Data Structures in C,南京市后大学计算机学院真惠男2006年9月,第6章收集和搜索,南京市邮政大学计算机学院真惠男2006年9月,6.1基本概念6.2次搜索6.3分南京市邮政大学计算机学院真惠男22次搜索6.1.1集合和搜索概念、数学、集合是徐璐其他对象的无序集合,集合目标称为元素或成员,每个元素仅出现一个多集合是元素的无序集合,例如,多集合1、1、2、3与1、2、3、1相同,但与1、2、3不同。 方括号通常用于表示无序集。有序集是一组元素,其中每个元素(像向量一样)可以出现一次或多次,并且出现的顺序很重要。括号通常表示

2、排序后的集,例如(2,1,3)。南京市邮政大学电脑学院陈慧南2006年九月,集合结构(称为集合)是一个数据结构,认为是同一类型的数据元素集合。集合中的数据元素之间除了“属于同一集合”外,没有其他关系。一般来说,我们假设讨论的集合不包含相同的元素。在数据结构意义上,集合通常是动态的,并且可以在集合中执行元素插入和删除,因此称为动态集。南京市邮政大学电脑学院陈慧南2006年九月,元素类型template struct e operator k()const return key;k键;D data。其中k和d是用户定义的数据类型,k称为关键字类型,key是关键字。C/C语言允许类型k,允许比较大小

3、类型。除关键字外的其他数据项被分类为数据字段的一部分,D可以是简单类型或结构类型。南京市邮政大学电脑学院陈慧南2006年九月,关键字是标识数据元素之一的数据项。如果牙齿关键字可以唯一标识一个元素,则牙齿关键字称为主关键字。集合中不同的数据元素具有不同的主键值。可用于标识多个数据元素的关键字称为辅助关键字。如果“数据元素”是默认数据类型,则该关键值为数据元素值。牙齿章节假定搜索到的关键字是主关键字,除非有特殊说明。南京市邮政大学电脑学院陈慧南2006年九月,搜索:根据给定值,键值等于给定值的数据元素,表中有这样的元素,搜索成功。搜索结果可以返回完整的数据元素,也可以表示表中的元素地址。如果表中没

4、有键值等于指定值的元素值,则搜索不成功(也称为搜索失败)。南京市邮政大学电脑学院陈慧南2006年九月,搜寻演算法分类搜寻演算法元素是否划分全部内存:内部搜索和外部搜索。表格搜寻称为内部搜寻,档案搜寻称为外部搜寻。如果其中一个搜寻演算法简单地搜索元素(称为静态搜索),则在搜索失败时,必须将搜索到的元素(例如动态搜索)插入到表中。结合搜索和插入的这些算法(例如符号表算法)通常称为符号表,编译器使用它来构建标识符表。搜寻演算法可以在算法中基于关键字值之间的比较,也可以在关键字值中直接将计算元素地址分为基于关键字比较的搜索和基于计算地址的搜索。牙齿章节和第9章的搜索是前,第10章的散列搜索,后,南京市

5、邮政大学电脑学院陈慧南2006年九月,6.1.2动态集ADT,元素用关键字识别,集合的元素各不相同。运算:Create();创建空集合。Destroy():撤消集合。如果IsEmpty():集合为空,则返回true否则返回false。如果IsFull():集合已满,则返回true,否则返回false。南京市邮政大学电脑学院陈慧南2006年九月,搜索(X) :在表中搜索了与X的关键字值相同的元素值。如果存在牙齿元素值,则将该值指定给x,Success函数返回。否则,返回NotPresent。Insert(x):从表中检索等于x的关键值的元素值。如果表包含牙齿元素值,则为x分配值,然后返回函数Du

6、plicate。否则,如果表已满,则函数Overflow返回。如果表未满,则具有x值的元素值将插入到表中,并函数返回Success。在Remove(x):表中搜索与x的键值相同的元素。牙齿元素(如果有)将值分配给x并从表中删除,从而产生Success函数返回。否则,返回NotPresent。函数返回类型包括enum result code under flow、overflow、success、duplicate、not present、南京市邮政大学电脑学院金惠南2006年九月,template class dynamic set public :虚拟结果代码搜索(t,南京市邮政大学电脑学院金惠南2006年9月,6.1 Templateclass)ListSet()delete l;bool IsEmpty()constreturn n=0;boolis full()constreturn n n=maxsize;ResultCode Search(T,南京市邮政大学电脑学院Chen huinan 2006年九月,private :T * l);/指针l指向一维数组int maxSize。int n;南京市后大学电脑学院振惠南2006年九月,6.2连续搜索,南京市后大学电脑学院陈惠

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论