查找技术【信息技术】.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
查找本章学习要点:   了解查找的基本思想及查找成功和不成功的概念,掌握在顺序表、有序表、索引表、散列表等上的查找方法和算法,并能求出相应的平均查找长度。   查找表是一种在实际应用中大量使用的数据结构。它的实际背景是各种软件系统中需频繁地进行查找的设施。因此,如何高效率地实现查找运算是查找表的基本问题,也是本章的重点内容。   本章首先介绍查找表的基本概念,包括集合的概念、静态查找与动态查找表的分类及定义,然后分别讨论静态查找表和动态查找表的几种常见和实现。 §5.1 基本概念   查找表是一种以集合为逻辑结构、以查找为“核心”运算、同时包括其它运算的数据结构。本节首先介绍集合的基本概念,然后介绍查找表的有关概念。 一、集合的基本概念   集合是一个非常一般的、最基本的数学概念。简单地说,由任意一些对象构成的整体称为集合。例如,所有整数放在一起构成一个集合,称为整数集。由某个人所设计出的所有计算机程序也构成一个集合。对任何集合A而言,A的每一个成员a称为A的一个元素,记为a∈A(读做“a属于A”)。如果一个集合的所有元素都确定了,那么这个集合本身也就完全确定了。也就是说,如果对任何对象X,X是否属于集合A?是完全确定的,那么集合A本身就补确定了。通常要求同一个集合的各个元素是互不相同的,即要求集合中没有相同元素。另外,规定空集是不含任何元素的集合,记为{ }。   作为一个数学概念,集合的元素没有任何限制。也就是说,无论是些什么对象,也无论这些对象的特性是否相同,都可以作为一个集合的元素。但在数据结构课程中,通常只考虑那些由具有相同类型的数据元素构成的集合。   在前面几章中,我们已经分别介绍了三种基本逻辑结构——线性结构、树开结构和图状结构。在这几种逻辑结构中,逻辑关系的特性是不同的。例如,线性结构中的每一个结点至多只能有一个直接后继,而树形结构中的一个结点可以有不止一个直接后继(孩子)。但无论如何,每种逻辑结构中总有一些结点存有着逻辑关系。集合作为一种逻辑结构却与上述三种逻辑结构均不相同。根本的区别是:在集合这种逻辑结构中,任何结点之间都有不存在逻辑关系。这也是集合这种逻辑结构的基本特点。   为了正确理解作为逻辑结构的集合的上述基本特点,必须严格区分数据元素之间的逻辑关系与其它关系。数据元素之间的逻辑关系反映的是数据元素之间相互关联从而构成数据的方式。除了这种关系之外,数据元素之间还可以有其它关系(非逻辑关系)。例如、在树形结构中,“父子关系”即(双亲结点与孩子结点之间的邻邦接关系)是逻辑关系,一棵树中的某些结点之间还可以按鞭个数据项什的大小而具有鞭种次序关系。树中结点的组织方式 既可怜反映这种次序关系户(比如二叉排序树,详见6。3),bn 可以不反映这种次序关系。因此,这种次序关系按数据结构的观点来说是非逻辑关系(如上述次序关系),但任何一对数据元素之间没有邻接关系,即没有逻辑关系。 二、查找表的基本概念   在大量实际应用中,查找是一种常用运算;其功能是从在量的数据库元素中找出某个特定的数据元素(如果存有的话)。因此在查找之前必须首先指定“查找目标”,即指定哪个数据元素是需要查找的。在实际应用中,通常是根据某给定值K到数据中查找一个数据元素X,使得X的某个数据项的值等于K。这就是说,通常要求用某个数据项的值来“标识”数据元素,即规定“查找目标”。这种用来标应保识数据元素的数据项称为关键字,简称键。该数据项的值称为键值。有时将键值简称为键。原则上来说,任何数据项都可作为关键字。在例1-1中,“工个证号码”、“姓名”、“性别”、”出生日期“、和“职称”这五个数据项都可作为关键字。也就是说,可以指定一具工作证号码(或者一个姓名等),然后去查找具有该号码(或姓名等)的记录。不过有些关键字可以唯一地标识各个数据元素,即不同的数据元素所含的该数据项的值(即键值)各不相同,例如“性别”,这种关键字称为主关键字。有些关键字不能唯一地标识数据元素,例如“性别”;这种关键字称为次关键字,不含其他数据域。采用上述术语,查找运算的功能可以更确切地表述如下:根据给定的某个值K,在查找表中寻找一个其键值等于K 的数据元素。若找到一个这样的数据元素,此时的运算结果为弄虚作假特殊标志。   作为一种数据结构,查找表的逻辑结构是集合;它的基本运算包括查找、读表元、插入和删除等。一个查找表是否包括插入和删除运算将造成该查找表在适用范围和实现方法等方面的重大差别,因些需要分别加以讨论。   静态查找表是以集合为逻辑结构、包括下列三种基本运算(但不包括插入和删除运算)的数据结构:   ①建表CREATE(ST),加工型运算,其作用是生成一个由用户给定的若干数据元素组成的静态查找表ST。?   ②查找SEARCH(ST,K),引用型运算,若ST中存在关键

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档