- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章-查找讲述
Hash函数的构造方法 (2) 数字分析法 选取key中随机性较好的若干位作为H(key)。 例 8.15 设记录数为80,记录的key为6位10进制数,即 key=(k1 k2 k3 k4 k5 k6)10,ki(1≤i≤6)=0|1|2|……|9。 k1 k2 k3 k4 k5 k6 2 3 1 5 8 6 2 4 2 3 4 6 2 3 3 7 9 6 2 3 9 8 8 6 … … … … … … 2 4 5 7 8 6 2 3 4 2 9 6 设表长为100,地址空间为00~99,则可令: H(key)=kikj ki、kj为key中的某两位。具体取哪两位呢? 例如这80个记录的key如右表: k3、k4的随机性较好,故取H(key)= k3 k4。 于是,key=231586的记录被映像到“15”号单元,key=242346的记录被映像到“23”号单元, 依此类推。 这种方法仅适合于key的集合预先知道的情况。 Hash函数的构造方法 (3) 平方取中法 取key2中间的某些位作为H(key)。位数视Hash表的存储空间而定。 例 key为6位数,地址范围为0-4000。设key=172148,则 (172148)2=29634933904,取3493。 说明:若超过4000,可乘以一个比例因子0.4。 随机性较好,key的每一位都起作用。 Hash函数的构造方法 (4) 叠加法 将key分割成位数相同的几部分(最后一部分位数可少),然后将各部分相加作为Hash地址。 该方法又分为“移位叠加”和“间界叠加”,前者是将分割后的每部分低位对齐相加;后者是沿分割线来回折叠、对齐相加。 例 key地址为3位,则Hash地址取 328 348 72 + 748 H(key)= Hash函数的构造方法 (5) 保留余数法 设Hash表长度为m(槽数),选取一个≤m的最大素数p,令: H(key) = key % p 说明:选择素数的随机性好。 (6) 随机函数法 令:H(key)=C*random(key) 其中random(key)为相应于key的一个随机函数;C为常数,选取相应的C值使得H(key)符合Hash地址的要求。 Hash函数的构造方法 构造/选取Hash函数要考虑的因素: key的长度、类型以及分布的情况; 给定的Hash表表长m; 记录的查找效率等。 目的是使记录尽可能均匀分布,减少冲突的发生。 3.处理冲突的方法 8.4 Hash表的查找 设Hash表地址空间为0~m-1(表长为m): … R(k) … H(key): 0 1 j-1 j j+1 m-1 冲突:表中某地址j∈[0,m-1]中己存放有记录,而另一个记录的H(key)值也为j。 在处理冲突的过程中,可能发生一连串的冲突,即可能得到一个地址序列H1、H2 、 …、Hn,Hi∈[0,m-1]。H1是冲突时选取的下一地址,而H1中可能己有记录,又设法得到下一地址H2,……,直到某个Hn不发生冲突为止。这种现象称为“聚积”,严重影响Hash表的查找效率。 引起冲突的因素除了Hash函数的随机性不好外,聚积的发生会加剧冲突。还有一个因素是表的装填因子(load factor, 或称负载因子)α,α=n/m,m为表长,n为表中记录个数。一般α在0.7~0.8之间,使表保持一定的空闲余量,以减少冲突和聚积的发生。 (1) 开放地址法 当发生冲突时,在H(key)的前后找一个空闲单元来存放冲突的记录,即在H(key)的基础上获取下一地址: Hi=(H(key) + di) % m 其中,m为表长,%运算是保证Hi落在[0,m-1]区间;di为地址增量。 di的取法有多种: 1)di=1,2,3,……,(m-1)——称为线性探查法 2)di=12,-12,22,-22,……——称为二次探查法(平方探查法) 第1次发生冲突时,地址增量d1取1或12;再冲突时,d2取2或-12,……,依此类推。 处理冲突的方法 处理冲突的方法 例
您可能关注的文档
- 管理会计第5章详解.ppt
- 管理精事故零——专变用户安全管理(教案)详解.doc
- 第8-章调查资料的整理讲述.ppt
- 第8次课-电容和部分电容讲述.ppt
- 第7课东西方文化交流的使者课件新人教版讲述.ppt
- 第8章+包图讲述.ppt
- 第8章++螺纹的互换性及检测讲述.ppt
- 第8周非谓语动词讲述.ppt
- 第8章++供应链管理环境下的库存管理讲述.ppt
- 第8章-internet的使用讲述.pptx
- 174页PPTXX集团管理体系优化整合咨询项目预诊断报告及项目建议书.PPT
- 134页PPT华为项目管理:发展历程、交付方法、文化驱动、团队管理、价值交付与数字化转型的项目管理综合体系-文库完整版.pptx
- 190页PPTIBM 管理咨询顾问能力进阶手册.pptx
- 688.【组织架构】197页PPT医药企业组织结构与流程设计报告.pptx
- 《社会学概论》(第2版)考研配套试题库(含名校真题).pdf
- 新疆建筑安全员B证考试复习题库大全-上(单选题汇总).pdf
- 二级建造师《建设工程法规及相关知识》近年考试真题试题库汇总(含答案.pdf
- 2025年二级建造师《建设工程法规》考前强化必背试题库(浓缩300题).pdf
- 统编版语文五年级上册全册优质版教案.doc
- 毛概结课考试题目及答案.doc
最近下载
- NHA-509稳态工况法工控柜安装手册V1.1.doc VIP
- 办公设备采购(电脑、打印机等)投标方案.docx VIP
- 南华NHA509汽车排放气体测试仪操作规程24页.pdf VIP
- 苏教版二年级数学上册全单元测试题(可打印).docx VIP
- 可行性研究报告-财务分析表格-全部带公式-准完美版.xls VIP
- PLC控制的Z3050型摇臂钻床电气控制报告讲解.pdf VIP
- 公安局辅警招聘考试试题库《综合理论知识》(含政治理论、法律法规、公安工作基本知识).pdf VIP
- 核心素养导向下的大单元教学设计.docx VIP
- (高三地理试卷)-693-江苏省连云港、徐州、淮安、宿迁四市高三第一次调研考试(一模)地理的试题.doc VIP
- 新概念英语第一册练习题Lesson43—Lesson44.pdf VIP
文档评论(0)