- 1、本文档共115页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]东华大学数据结构第九章查找
* 9.3 哈希表 1.?开放定址法 为产生冲突的地址H(key)求得一个地址序列: H0, H1, H2, …, Hs 1≤s≤m-1 其中:H0 = H(key) Hi = ( H(key) + di ) MOD m i=1, 2, …,s 增量 di 有三种取法: (1)?线性探测再散列:di = c?i。最简单的情况 c=1 (2)?平方探测再散列:di = 12, -12, 22, -22, …, (3)?随机探测再散列:di 是一组伪随机数列 * 9.3 哈希表 注意:增量di应具有“完备性”。即:产生的Hi均不相同,且所产生的s(m-1)个Hi值能覆盖哈希表中所有的地址。则要求: ※ 平方探测时的表长m必为4j+3的质数; ※ 随机探测时的m和di没有公因子。 线性探测容易产生二次聚集,一次聚集的产生主要取决于哈希函数,在哈希函数均匀的前提下,可以认为没有一次聚集。 * 9.3 哈希表 线性探测: 假定采用的H函数为:H(key)= keyMOD11,关键字序列为:17、60、29、38 … * 9.3 哈希表 当散列 38 时发生冲突,同 60 争夺第 5 个单元 解决办法 :探测下一个空单元,步长:1 H(key) = ( key+di) MOD 11,其中:di 为 1、2……10 注意:可取其它步长,如 3 冲突: 初级冲突:不同关键字值的结点得到同一个散列地址。 二次聚集:同不同散列地址的结点争夺同一个单元。 结果:冲突加剧,最坏时可能达到 O(n)级代价。 * 9.3 哈希表 解决办法: 改变步长:选和 m 互质的数作为步长,如 3、5、7…… 如选步长为 5,用 H(key) = ( key+5) MOD 11 H(key) = ( key+ 5×2) MOD 11 H(key) = ( key+ 5×3) MOD 11 等进行下一个空的单元,直到找到为止。 随机地改变步长,如取步长序列:2,7,4,3,6,1,5,如用 H(key) = ( key+2) MOD 11 H(key) = ( key+7) MOD 11 H(key) = ( key+ 4) MOD 11 等进行探测下一个空的单元,直到找到为止。 * 9.3 哈希表 2.?再哈希法 出现冲突时,采用多个哈希函数计算散列地址,直到找到空单元为止。或者用另一个哈希函数作为步长进行探测,找到下一个空单元。 如:H1(key) = key MOD 11 H2(key) = ( key+ MOD 9)+1 示例:给出一组表项关键字{ 22, 41, 53, 46, 30, 13, 01, 67 }。散列函数为:H(x)=(3x) % 11。散列表为 HT[0..10],m = 11。因此,再散列函数为 RH(x) = (7x) % 10 +1。 Hi = ( Hi-1 + (7x) % 10 +1 ) % 11, i = 1, 2, ? * 9.3 哈希表 H0(22) = 0 H0(41) = 2 H0(53) = 5 H0(46) = 6 H0(30) = 2 冲突 H1 = (2+1) = 3 H0(13) = 6 冲突 H1 = (6+2) = 8 H0(01) = 3 冲突 H1 = (3+8) = 0 H2 = (0+8) = 8 H3 = (8+8) = 5 H4 = (5+8) = 2 H5 = (2+8) = 10 H0(67) = 3 冲突 H1 = (3+10) = 2 H2 = (2+10) = 1 * 9.3 哈希表 3.?链地址法 将所有哈希地址相同的记录都链接在同一链表中。链地址肯定不会产生二次聚集。 * 9.3 哈希表 4.?公共溢出区法: ?将发生冲突的结点都存放在一个公共溢出区内。 * 9.3 哈希表 四、哈希表的查找 查找过程和造表过程一致。假设采用开放定址处理冲突,则查找过程为: 对于给定值K, 计算哈希地址 i = H(K) 若r[i] = NULL 则查找不成功 若 r[i].key = K 则查找成功 否则 求下一地址Hi,直至 r[Hi] = NULL (查找不成功) 或 r[Hi].key = K (查找成功) 为止。 * 9.3 哈希表 ???//--- 开放定址哈希表的存
您可能关注的文档
- [基础医学]第四章 血液循环.ppt
- [基础科学]城市人居住环境第一章.ppt
- [基础科学]波士顿咨询公司对发达国家邮政业务量的预测.pdf
- [基础科学]为人口老化与老年福利把脉.pdf
- [基础科学]透过数据看业务.ppt
- [外语学习]C2标单位、分部开工申请、开工通知.doc
- [外语学习]Task-based Language Teaching.ppt
- [外语学习]The Sentence 1.ppt
- [外语学习]专四语法.doc
- [基础科学]原核生物基因表达调控.ppt
- 2025年广西中考地理二轮复习:专题四+人地协调观+课件.pptx
- 2025年广西中考地理二轮复习:专题三+综合思维+课件.pptx
- 2025年中考地理一轮教材梳理:第4讲+天气与气候.pptx
- 第5讲+世界的居民课件+2025年中考地理一轮教材梳理(商务星球版).pptx
- 冀教版一年级上册数学精品教学课件 第1单元 熟悉的数与加减法 1.1.6 认识1-9 第6课时 合与分.ppt
- 2025年中考一轮道德与法治复习课件:坚持宪法至上.pptx
- 2025年河北省中考一轮道德与法治复习课件:崇尚法治精神.pptx
- 八年级下册第二单元+理解权利义务+课件-2025年吉林省中考道德与法治一轮复习.pptx
- 精品解析:湖南省娄底市2019-2020学年八年级(上)期中考试物理试题(原卷版).doc
- 2025年中考地理一轮教材梳理:第10讲+中国的疆域与人口.pptx
最近下载
- 华南理工大学《电力经济与管理》教学:电力经济与管理2-经济学.ppt VIP
- (完整版)药店医疗器械培训试题及答案 .pdf VIP
- 苏教版一年级下册科学《2-4 水是什么样的》ppt课件 (8).pptx
- 中考语文一轮专题复习课件:我国古代贬谪文学鉴赏——以《小石潭记》《岳阳楼记》《记承天寺夜游》为例.pptx VIP
- 客户找车合同范本.docx VIP
- 华南理工大学《电力经济与管理》教学:电力经济与管理2-经济学(2).ppt VIP
- 20230720-西部证券-医脉通-2192.HK-深度报告:上下游场景持续拓展,专业医生平台构筑竞争壁垒.pdf
- 中船科技(600072)公司2023年财务分析研究报告.doc
- 中国书法简介英语版-chinese-calligraphy(完整版).ppt
- 2025年供电营业规则考试题库.pdf
文档评论(0)