数据结构精品课件-哈希函数中处理冲突的方法.pptVIP

数据结构精品课件-哈希函数中处理冲突的方法.ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  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.1 查找的基本概念 8.3 基于树的查找法 8.5 总结与提高 8.2 基于线性表的查找法 8.4 计算式查找---哈希法 8.4 计算式查找---哈希法 一、哈希表的定义 二、哈希函数的构造方法 三、处理冲突的方法 四、哈希表的查找 五、哈希法性能分析 为产生冲突的关键字寻找下一个哈希地址。 1. 开放定址法 2. 链地址法 除了需要选择一个“好”(尽可能少产生冲突)的哈希函数之外;还需要找到一种“处理冲突” 的方法。其含义是: 3. 建立公共溢出区 三、处理冲突的方法 为产生冲突的关键字 H(key) 求得一个探测地址序列(在其中逐个探测空哈希地址): H0, H1, H2, …, Hs 1≤ s≤m-1 其中:H0 = H(key) Hi = ( H(key) + di ) MOD m di 为探测增量有三种,i=1, 2, …, m-1 1. 开放定址法 (1) 线性探测再散列 di = c? i 最简单的情况 c=1 (2) 平方探测再散列 di = 12, -12, 22, -22, …, (3) 随机探测再散列 di 是一组伪随机数列 或者 di=i×H2(key) (又称双散列函数探测) 探测增量序列 di 的三种取法: 即:产生的 Hi 均不相同, 且m-1 个Hi 值能覆盖 哈希表中所有地址。则要求: 注意:增量 di 应具有“完备性” ※ 随机探测时的 m 和 di 应没有公因子; ※ 平方探测时的表长 m 应为形如 4j+3 的素数 (如: 7, 11, 19, 23, … 等); ※ 避免二次聚集。 0 1 2 3 4 5 6 7 8 9 10 例如哈希表长m=11,现 有关键字集合: { 19, 01, 23, 14, 55, 68, 11, 82, 36 } 设定哈希函数 H(key) = key MOD 11 19 01 23 14 55 68 (1)采用线性探测再散列处理冲突 11 82 36 1 1 2 1 3 6 2 5 1 0 1 2 3 4 5 6 7 8 9 10 19 01 23 14 68 (2)采用二次探测再散列处理冲突 55 11 82 36 1 1 2 1 2 1 4 1 2 ASL=22/9 ASL=15/9 设:H2(key)=(3 key) MOD 10 + 1 di=i×H2(key) 19 01 23 14 55 68 11 82 36 2 1 1 1 2 1 2 1 3 ASL=14/9 0 1 2 3 4 5 6 7 8 9 10 (3)采用双散列函数探测 线性探测处理冲突时: ASL = 双散列探测处理冲突时:ASL = 22/9 14/9 二次探测处理冲突时: ASL = 15/9 本例不同的处理冲突方法的ASL为: { 19, 01, 23, 14, 55, 68, 11, 82, 36 } 将所有哈希地址相同的记录 都链接在同一链表中。 36 82 68 ? ? ? ? ? ? 14 01 23 11 19 55 0 1 2 3 4 5 6 ? ASL=(6×1+2×2+3)/9=13/9 设哈希函数为: H(key)=key MOD 7 显然不会发生二次聚集 2. 链地址法: { 19, 01, 23, 14, 55, 68, 11, 82, 36 } 按哈希函数的值域的范围设立向量为基本表,另设立同样大小的向量为公共溢出区,将所有发生冲突的记录都顺序存放在公共溢出区中。

您可能关注的文档

文档评论(0)

极研教育 + 关注
官方认证
服务提供商

SAC证券行业专业人员持证人

承接各类可行性研究报告撰写,详情加v:JiYan-edu

认证主体 天津西青区极研智慧智能科技有限公司
IP属地天津
领域认证 该用户于2023年10月01日上传了SAC证券行业专业人员
统一社会信用代码/组织机构代码
91120111MA07276K52

1亿VIP精品文档

相关文档