第8章 查找软件学院.pptVIP

  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文档。上传文档
查看更多
第8章 查找软件学院

t指向取代q位置的结点 * 2010-06-07 第27次,13周-01次 * 最佳二叉树最佳性不宜维护 /2010-06-07 第27次,13周-01次 * 2010-06-08 第28次,13周-02次 * RR型:右子树的右子树上插入——单一左转 LL型:左子树的左子树上插入——单一右转 RL型:右子树的左子树上插入——RL型旋转 LR型:左子树的右子树上插入——LR型旋转 多个链串到了一起; * * 一、线性表的查找 二、树形结构的查找 三、散列(杂凑) 8.9.1 散列表(杂凑表)的定义 8.9.2 散列函数的构造 8.9.3 冲突调解 目前,我们所考虑的查找方法在找到以K为关键词的记录之前,都要检查若干数目的关键词. 杂凑技术则完全免去了上述方法所作的搜索,由给定变元K直接计算出函数值f(K),而f(K)即为包含K的记录所在的地址. 杂凑函数满足的条件: 1. 便于快速计算; 2. 极少出现冲突(函数是均匀的). 杂凑表(散列表):根据给定的杂凑函数Hash (Key)和处理冲突的方法,将一组关键词映射到一个有限的连续的地址区间上,并以关键词在地址集上的“映像”作为该记录在表中的存储位置,这种表称为杂凑表或者散列表。这种映射过程称为杂凑,所得到的存储位置称为杂凑地址或者散列地址。 ● 杂凑技术避免了关键词的比较 ● 杂凑技术的关键: 如何构造均匀的杂凑函数 解决冲突的方法 一、线性表的查找 二、树形结构的查找 三、散列(杂凑) 8.9.1 散列表(杂凑表)的定义 8.9.2 散列函数的构造 8.9.3 冲突调解 2、 杂凑函数 杂凑函数h与组成关键词K的符号有关. 如果K是从关键词集合中随机选取的一个,则我们希望h(K)以同等概率取区间[0,M-1]中的每一个值. 如果一个杂凑函数满足这一性质,则被称为是均匀的. 为了方便,我们把关键词表示为二进制代码. 例如,可把每个英文字母看成一个5位二进制数,即令A=00001,B=00010,C=00011,…,Z=11010. 从而每个单词是一个连续的二进制串,比如THE表示为串h(THE)=10100 01000 00101 T H E 构造杂凑函数方法 1. 抽取法 2. 压缩法 3.除法杂凑函数 4. 乘法杂凑函数 构造杂凑函数方法 1. 抽取法 从关键词相对的二进制串中抽取几个分散的代码,然后合并这几个代码,形成一个地址. [例]抽取法抽取第三位和最后两位作为杂凑地址,则 h(THE)=10100 01000 00101=101 T H E 2. 压缩法 把关键词的二进制串分割成若干个子串,然后按某种方式把这些子串合并,形成该关键词的地址. 例:h(THE)=10100 XOR 01000 XOR 00101= 11001 =2510 异或运算满足交换律,即有同样字母的单词有相同的杂凑地址。 h(STEAL)=h(STALE)=h(TALES)=h(LEAST) 3.除法杂凑函数 h(K)=K mod M ,其中K为记录的关键词,M为杂凑表容量。 例:h(THE)= 10100 01000 00101 mod 31 =2074110 mod 31= 2 注意合理选择M值,M一般为素数。 4. 乘法杂凑函数 给定一个实数θ,0<θ<1,则按如下的方式给出一个杂凑函数. H(K)=?M(Kθ mod 1)? 一般来说,当θ≈0.6180339887或θ= 013 时,杂凑函数能均匀地分布在[0,M-1]上. 一、线性表的查找 二、树形结构的查找 三、散列(杂凑) 8.9.1 散列表(杂凑表)的定义 8.9.2 散列函数的构造 8.9.3 冲突调解 3、冲突调节 冲突调节方法 1.拉链法 2. 线性探查 3. 双重杂凑 1. 拉链法 假定表T包含M个散列地址T[0],T[l],…,T[M-l],拉链就是令散列地址等于i的记录组成一个链表,且指针T[i]是该单链表的头指针. 为了节约存储空间, 改进的方法是将每个T[i]分成两个域,一个域存放记录,另一个域

文档评论(0)

peili2018 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档