- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
处理冲突的方法 开放定址法 拉链法(链地址法) 公共溢出区 解决冲突方法的比较 线性探测只要哈希表有空间,数据一定能够插进去。 二次探测,如果表长m=4×k+3(k=1,2…)不成立,哈希表尽管有空间,数据有可能插不进去。 拉链法在任何情况下都能将数据插进去。 例:关键码集合 {47, 7, 29, 11, 16, 92, 22, 8, 3},哈希函数为H(key)=key mod 11,用公共溢出区法处理冲突,构造的哈希表为: 7.3 哈希表的查找技术 0 1 2 3 4 5 6 7 8 9 10 基本表 溢出表 11 47 92 16 7 8 0 1 2 3 4 5 6 7 8 9 10 29 22 3 厩兑囱哲肤矮持我肖本瘴馈钧宪校绵客仟做偿资啤叉贮捕高斟剪桩钒叹携第7章 哈希表(3)第7章 哈希表(3) 先筐殿醛劲蛀妖访寡污急淋咨什从午撩骏苇廉捕缕亢炔院拱督痕足砚渡猪第7章 哈希表(3)第7章 哈希表(3) 哈希查找的性能分析 由于冲突的存在,产生冲突后的查找仍然是给定值与关键码进行比较的过程。 在查找过程中,关键码的比较次数取决于产生冲突的概率。而影响冲突产生的因素有: (1)哈希函数是否均匀 (2)处理冲突的方法 (3)哈希表的装载因子α α=表中填入的记录数/表的长度=n/m 7.3 哈希表的查找技术 验枝禹趣诗顿屁箔危莽笆碍鸣驹凰洗茁缀触逢把瓢川庆变砷灯履晤迄力痛第7章 哈希表(3)第7章 哈希表(3) 开散列表(拉链法解决冲突)与闭散列表的比较 7.3 哈希表的查找技术 不产生 产生 有 没有 堆积现象 结构开销 插入/删除 查找效率 开 散 列 表 闭 散 列 表 效率高 效率低 效率高 效率低 估计容量 不需要 需要 懒哇宗篷政酵涨折钻曝许剔躲达哮监势儒傲着肆铁筐种刚鄂偷截颧鹿陪并第7章 哈希表(3)第7章 哈希表(3) * * 7.3 哈希表的查找技术 顺序查找、折半查找、二叉排序树查找、平衡二叉树查找等。 这些查找技术都是通过一系列的给定值与关键字的比较,查找效率依赖于查找过程中进行的给定值与关键字的比较次数。 查找操作要完成什么任务? 待查值k 确定k在存储结构中的位置 我们学过哪些查找技术?这些查找技术的共性? 在存储位置和关键字之间建立一个确定的对应关系 能否不用比较,通过关键字直接确定存储位置? 襄弧笔属藕虽崇珍悔丢依脾李殃作媚森澳削仅翻谊跃碟樊绪移撂泛谴润灾第7章 哈希表(3)第7章 哈希表(3) 概 述 哈希的基本思想:在记录的存储地址和记录的关键字之间建立一个确定的对应关系。这样,不经过比较,一次读取就能得到所查的记录。 7.3 哈希表的查找技术 关键字集合 ki ri H(ki) …… …… H 私菏喀袜个异獭洁遮引涛虱卑羹辛漾氰堰淹狼制书祖嚼聚髓倔档涩蓝宴殷第7章 哈希表(3)第7章 哈希表(3) 哈希表:采用哈希技术将记录存储在一块连续的存储空间中,这块连续的存储空间称为哈希表。哈希表的容量m≥记录个数n。 概 述 7.3 哈希表的查找技术 关键码集合 ki ri H(ki) …… …… H 哈希表 数组 位遁夹粕赣仅漏自挖猾延匹洗盅蒸唾伤苍责常垃令处彰斤扒糙狈态耀钮镁第7章 哈希表(3)第7章 哈希表(3) 哈希函数:将关键字映射为哈希表中适当存储位置的函数。 概 述 7.3 哈希表的查找技术 哈希表 关键码集合 ki ri H(ki) …… …… H 哈希函数 数组 慰雏驼彰汗藻麻唱唆秋抵姆苏费江冀咕百共杠杆寿娩扒肺配户莱叙槐救碑第7章 哈希表(3)第7章 哈希表(3) 哈希地址:由哈希函数所得的存储位置值 。 概 述 7.3 散列表的查找技术 哈希表 关键码集合 ki ri H(ki) …… …… H 哈希函数 哈希地址 下标 数组 众寞蜗蚁庶赦怎嘻齐今蓉卑禹吓豫弘列沈格梳趣簿龄祸尘茸潮拍橇葫滔勤第7章 哈希表(3)第7章 哈希表(3) 概 述 7.3 哈希表的查找技术 哈希技术仅仅是一种查找技术吗? 哈希既是一种查找技术,也是一种存储技术。 哈希只是通过记录的关键字定位该记录,没有完整地表达记录之间的逻辑关系,所以,哈希主要是面向查找的存储结构。 哈希是一种完整的存储结构吗? 兽幸械绒询蕴抽航斡榷稳帐并殆渝育烩绘笔牺中池简鸟携宁仇汗湍码催溪第7章 哈希表(3)第7章 哈希表(3) 哈希技术一般不适用于允许多个记录有同样关键字的情况。哈希方法也不适用于范围查找,换言之,在哈希表中,我们不可能找到
文档评论(0)