第8章(查找表)概要.ppt

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章(查找表)概要

查找表:用于查找的数据元素集合称为查找表。查找表由同一类型的数据元素(或记录)构成。 是一种以集合为逻辑结构,以查找为核 心运算,同时包括其他运算的数据结构。 (1)动态查找 (2)ASL (3)二叉排序树 (4)平衡二叉树 例如,由关键字值序列(62,15,68,46,65,12,57,79,35)构成的一棵二叉排序树如图7-4所示。 二叉排序树的构造方法:设R={R1,R2,…,Rn}为一数列,按下面的原则建立二叉树: 1)令R1为二叉树的根; 2)若R2R1,则令R2为R1的左子树的根结点,否则令R2为 R1的右子树的根结点; 3)对R3,R4,…Rn重复上述步骤2); 已知{46,57,84,32,73,36,15,48,90,20}要求: (1)按键值排列次序构造一棵二叉排序树. (2)在等概率的情况下,该二叉排序树查找成功的平均查找长度. (3)针对上述十个键值,对于不同的排列次序, 构造不同形态的二叉排序树中,最好和最坏的情况下,二叉排序树的高度各是多少? 将{8,6,3,1,2,5,9,7,4}中的数依次插入到时一棵空的平衡二叉排序树中,求在等概率的情况下,查找成功的平均检索长度,查找失败时对键值的最多 比较次数. 设散列表为HT[13], 散列函数为 H (key) = key %13。用二次探测再散列法解决冲突, 对下列关键码序列 12, 23, 45, 57, 20, 03, 78, 31, 15, 36 造表。 (1) 采用线性探查法寻找下一个空位, 画出相应的散列表, 并计算等概率下有哪些信誉好的足球投注网站成功的平均有哪些信誉好的足球投注网站长度和有哪些信誉好的足球投注网站不成功的平均有哪些信誉好的足球投注网站长度。 (2) 采用双散列法寻找下一个空位, 再散列函数为 RH (key) = (7*key) % 10 + 1, 寻找下一个空位的公式为 Hi = (Hi-1 + RH (key)) % 13, H1 = H (key)。画出相应的散列表, 并计算等概率下有哪些信誉好的足球投注网站成功的平均有哪些信誉好的足球投注网站长度。 设散列表为T(13),散列函数为H(key)=key%13,给定键值序列是{39,36,28,38,44,15,42,12,6,25},请画出分别用拉链法和线性探查法处理冲突时所构造的散列表,并求出在等概率情况下,这两种方法查找成功和查找失败时的平均查找长度. 作业: 1已知记录的键值集合为{53,17,19,61,98,75,79,63,46,49},要求散列到地址空间{100,101,……109}内,采用线性探查法处理冲突,请给出选用的散列函数,并画出所构造的散列表,计算在等概率的情况下,查找成功是平均查找长度,与查找不功的平均查找长度. 2下图是一个3阶B树。试分别画出在插入65、15、40、30及删除50、45之后B树的变化。 一般情况,结点可如下实现“分裂”。 假设p节点中已有m-1个关键字,但插入一个关键字之后,结点中含有信息为: 此时,可将P节点分裂为P和P‘两个节点: P P P 即把关键字K 插入到它的父亲结点中,因此在父亲结点中指针P和P是按如下顺序被放置的。 ...,P,K ,P... m/2 m/2 m,A0 ,K1 ,A1 ,K2 ,A2 ,... ,Km Am ,A0 ,K1 ,A1 ,…,K ,A m/2 -1 m/2 –1 m/2 -1 m- m/2 ,A ,K ,A ,...Km,Am m/2 m/2 +1 m/2 +1 纵观以上两节讨论的表示查找表的各种结构,有一 个共同点:记录在表中的位置和它的关键字之间不存在 一个确定的关系,因此,查找的过程为给定值依次和关 键字集合中各个关键字进行比较,查找的效率取决于和 给定值进行比较的关键字个数。 因此,用这类方法表示的查找表,其平均查找长度 都不为零,不同表示方法的差别仅在于:和给定值进行 比较的关键字的顺序不同。 对于频繁使用的查找表,希望ASL=0。即不需要从 “比较”的结果来确定查找成功,只有一个办法:预先知 道所查关键字在表中的位置,也就是说,记录在表中位 置和其关键字之间存在一种确定的关系。 ★ Hash法 什么是Hash表? 例如:为每年招收的1000名新生建立一张查找表,其关 键字为xx000--xx999(前两位为年份)。则可以下标为 000--999 的顺序表表示之。由于关键字和记录在表中的 序号相同,则不需要经过比较即可确定待查关键字。 但是,对于动态查找表而言,1) 表长不确定;2)在设计查找表时,只知道关键字所属范围,而不知道确切的关键字。因此,一般情况,需建立一个函数关系,以f(key)作为关键字为key的记录在表中的位置,通常称这个函数f(ke

文档评论(0)

yaocen + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档