- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九章 查找 查找的概念 顺序表查找 索引查找 散列查找 性能分析 例:数据元素个数n=80, 哈希表长m=100,关键字为八位十进制数, 其中部分关键字如下: 8 1 3 4 6 5 3 2 8 1 3 7 2 2 4 2 8 1 3 8 7 4 2 2 8 1 3 0 1 3 6 7 8 1 3 2 2 8 1 7 8 1 3 3 8 9 6 7 8 1 3 5 4 1 5 7 8 1 3 6 8 5 3 7 8 1 4 1 9 3 5 5 ... ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ 只有④⑤⑥⑦位出现的数字分布均匀,因此可取其中任意两位作为哈希地址。 冲突:不同的关键字若得到同一个散列地址,这种现象称为冲突。 同义词:把具有不同关键字,但具有相同散列地址的元素称为同义词。 桶: 每个散列地址对应的存储空间,一个桶可以是一个单元,存储一个元素,也可以是多个单元,存储多个元素。 冲突一般不可避免,因为关键字的取值范围通常远远大于散列地址的空间。如何尽量避免冲突?发生冲突后如何处理冲突?是散列存储的两个关键问题。 与冲突发生可能性大小有关的三个主要因素: (1)装填因子 а = n/m n : Hash表中元素个数 m : Hash表地址空间大小 а越小,冲突可能性也越小;但是,а越小,空间利用率越低。这是一个矛盾,可根据实际情况取舍。经验证明一般а控制在0.6—0.9之间较好。 (2)与采用的Hash函数有关,尽可能均匀分布。 (3)与解决冲突的方法有关。 二、散列函数的构造方法 对数字关键字可有下列构造方法: 直接定址法 除留余数法 数字分析法 平方取中法 折叠法 若是非数字关键字,则需先对其进行数字化处理。 什么是好的散列函数? 均匀的散列函数:对于关键字集合中的任一关键字,经散列函数映象到地址集合中任何一个地址的概率是相等的。 哈希函数为关键字的线性函数 H(key) = key 或者 H(key) = a ? key + b 其中a和b为常数 此法不会发生冲突,但此法仅适合于: 地址集合的大小 = = 关键字集合的大小 实际中能使用这种哈希函数的情况较少。 1. 直接定址法 2. 除留余数法 取关键字被哈希表表长 m 除后所得的余数作为哈希地址。即: H(key) = key MOD m 其中, m为散列表表长 关键:对 m 的选择。实践证明 m 为素数比较好。 除留余数法计算简单,适用范围广,是最常用的一种方法。 给定一组关键字为: 12, 39, 18, 24, 33, 21, 若取 m=9, 则他们对应的哈希函数值将为: 3, 3, 0, 6, 6, 3 可见,若 m 中含质因子 3, 则所有含质因子 3 的关键字均映射到“3 的倍数”的地址上,从而增加了“冲突”的可能。 例如: 为什么要对 m 加限制? 当关键字为字符串时,需先转换成整数,再应用上述函数。 例如:下列函数先把字符串 K 转换为一个整数 h,再应用除留余数法求散列地址。 int Hash(char *K, int m) { int len = strlen(K); unsigned int h = 0; for ( int i=0; ilen; i++) { h=3; h+=K[i]; } return h%m; } 3. 数字分析法 假设关键字集合中的每个关键字都是由 s 位数字组成 (u1, u2, …, us),则可分析全体关键字, 并从中提取分布均匀的若干位组成散列地址。 此法适用于能预先估计出全体关键字的每一位上各种数字出现的频度的情况。 以关键字的平方值的中间几位作为存储地址。 求“关键字的平方值” 的目的是“扩大差别” ,同时平方值的中间各位又能受到整个关键字中各位的影响。 此方法适用于: 关键字中的每一位都有某些数字重复出现频度很高的现象,即取值不够分散的情况。 4. 平方取中法 5. 折叠法
您可能关注的文档
- 第二单元第3讲物质跨膜运输的实例与物质跨膜运输的方式概要.ppt
- 第9课西欧和日本经济的发展课件正式版概要.ppt
- 第二单元第3课《自我保护不麻痹》概要.ppt
- 第9课学案1概要.ppt
- 第二单元机体曲柄连杆结构概要.ppt
- 第9章AI查漏补缺概要.ppt
- 第二单元折线统计图概要.doc
- 第二讲 中国区域差异与经济发展概要.ppt
- 第9章标准成本法概要.ppt
- 第二讲、钠的其他常见化合物___碱金属元素概要.ppt
- 专题04 天气与气候(期末真题汇编,广东专用)(解析版).docx
- 专题04 中国的经济发展(百题精选)(期末真题汇编)(原卷版).docx
- 专题05 建设美丽中国(专项训练)(原卷版).docx
- 专题05 建设美丽中国(专项训练)(解析版).docx
- 专题05 居民与文化 发展与合作(百题精选)(期末真题汇编)(解析版).docx
- 2024年下半年教师资格考试中学《教育知识与能力》真题(含答案和解析).docx
- 专题05 居民与文化 发展与合作(百题精选)(期末真题汇编)(原卷版).docx
- 专题05 居民与文化 发展与合作(期末真题汇编,广东专用)(解析版).docx
- 专题05 居民与文化 发展与合作(期末真题汇编,广东专用)(原卷版).docx
- 统编版七年级语文上册课件《雨的四季》.pptx
原创力文档


文档评论(0)