- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 哈希表 前面查找方法共同特点:通过将关键字值与给定值比较,来确定位置。效率取决比较次数。 理想的方法是:不需要比较,根据给定值能直接定位记录的存储位置。这样,需要在记录的存储位置与该记录的关键字之间建立一种确定的对应关系,使每个记录的关键字与一个存储位置相对应。 例 1949-2000年某地区人口统计表 可以按公式确定其人数: y年人数=表[y-1948] 年份 人数 1 2 3 ….. 51 52 1949 1950 1951 ……... 1999 2000 2000 2100 2200 ……... 4400 4420 1.计算式查找法—哈希法 哈希法又称散列法、杂凑发或关键字地址计算法等,相应的表称为哈希表、散列表、杂凑表等。 基本思想:首先在元素的关键字k和元素的存储的存储位置p之间建立一个对应关系H,使得p = H(k),H称为哈希函数。 在记录的存储地址和它的关键字之间建立一个确定的对应关系;这样,不经过比较,一次存取就能得到元素。 哈希函数——在记录的关键字与记录的存储位置之间建立的一种对应关系。 哈希函数是一种映象,是从关键字空间到存储位置空间的一种映象。哈希函数可写成: Addr(ai)=H(ki) ai是表中的一个元素 Addr(ai)是ai的存储位置信息 ki是ai的关键字 当关键字集合很大时,关键字值不同的元素可能会映像到哈希表的同一地址上,即k1≠k2,但H(k1) = H(k2),这种现象称为冲突。冲突是不可避免的,只能通过改进哈希函数的性能来减少冲突。 哈希表——应用哈希函数,由记录的关键字确定记录在表中的位置信息,并将记录根据此信息放入表中,这样构成的表叫哈希表。 哈希查找——利用哈希函数进行查找的过程。 除了特别简单的应用,在大多数情况下,所构造出的哈希函数是多对一的(非单射函数)。即可能有多个不同的关键字,它们对应的哈希函数值是相同的,这意味着不同记录由哈希函数确定的存储位置是相同的。这种情况被称为冲突。 即: 若key1不等于key2,而h(key1)=h(key2) Hash查找适合于关键字可能出现的值的集合远远大于实际关键字集合的情形。 根据抽屉原理,冲突是不可能完全避免的,所以,要解决: (1)构造一个性能好,冲突少的Hash函数 (2)如何解决冲突 构造和选取哈希函数的原则:均匀性(Uniform)。 若对于关键字集合中的任一个关键字,经哈希函数映象到地址集合中任何一个地址的概率是相等的,则称此类哈希函数为均匀的哈希函数。这种均匀性可以使一组关键字的哈希地址均匀分布在整个地址区间中,从而减少冲突。 实际中选取哈希函数要考虑的因素包括: *计算哈希函数所需要时间; *关键字长度; *哈系表大小; *关键字分布情况 *记录的查找频率 2、哈希函数的构造方法 (1)直接定址法 构造:取关键字或关键字的某个线性函数作哈希地址,即H(key)=key 或 H(key)=a·key+b 特点: 直接定址法所得地址集合与关键字集合大小相等,不会发生冲突 实际中能用这种哈希函数的情况很少。 此法仅适合于: 地址集合的大小 = = 关键字集合的大小 (2)数字分析法 如果事先知道关键字集合,并且每个关键字的位数比哈希表的地址码位 多时,则可以从关键字中选出分布比较均匀的若干位,构成哈希地址。 例 有80个记录,关键字为8位十进制数,哈希地址为2位十进制数 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 6 8 5 3 7 8 1 4 1 9 3 5 5 ….. ….. ?? ? ??? ?? 分析: ?只取8 ?只取1 ?只取3、4 ?只取2、7、5 ????数字分布近乎随机 所以:取????任意两位或两位 与另两位的叠加作哈希地址 此方法仅适合于: 能预先估计出全体关键字的每一位上各种数字出现的频度。 当无法确定关键字中哪几位分布较均匀时,可以先求出关键字的平均值,然
您可能关注的文档
最近下载
- 执业药师继续教育《前列腺癌常见其他治疗进展》习题答案.docx VIP
- 高一作文巧遇(2篇).docx VIP
- 人人峨嵋台地北缘断裂晚第四纪活动性.pdf VIP
- 肺淋巴瘤的影像诊断最全PPT【45页】.pptx VIP
- 血液透析中空气栓塞应急预案.ppt VIP
- 材料力学(刘鸿文主编).pdf VIP
- 2024-2025学年河北省保定市竞秀区北京师大保定实验学校八年级(上)月考数学试卷(9月份)(原卷全解析版).doc VIP
- Toshiba东芝软水机TS10-01 TS15-01 TS20-01用户手册.pdf
- 娄景书(娄景书).doc VIP
- 人教版高中英语新教材必修2单词默写表.docx VIP
文档评论(0)