第九章查找说课.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
An Introduction to Data Structure 黑龙江科技学院计算机系 第九章 查 找 9.1 静态查找表(重点内容) 9.2 动态查找表(难点内容) 9.3 哈希表(重点、难点内容) 算法描述(查找实验的实验内容,对应文件名为sy6.c(有序表、查找成功、失败),演示该运行程序,算法在教材220页) 通过不断插入生成一棵二叉排序树 2.链地址法 方法:将所有关键字为同义词的记录存储在一个单链表中,在链表中的插入位置可以在表头或表尾,也可以在中间,以保持同义词在同一单链表中按关键字有序。并用一维数组存放头指针,头指针初始状态都是空指针。 哈希查找分析 哈希查找过程仍是一个给定值与关键字进行比较的过程(有冲突的产生,理想情况达不到) 评价哈希查找效率仍要用ASL 哈希查找过程与给定值进行比较的关键字的个数取决于: 哈希函数; 处理冲突的方法; 哈希表的装填因子?=表中填入的记录数/哈希表长度, ?标志哈希表的装满程度。直观地看, ?越小,发生冲突的可能性就越小;反之, ?越大,表示表中已填入的记录越多,再填记录时,发生冲突的可能性就越大,则查找时,给定值需与之进行比较的关键字的个数也就越多。 例 已知一组关键字(19,14,23,1,68,20,84,27,55,11,10,79) 哈希表表长为13,哈希函数为: H(key)=key MOD 13, 用链地址法处理冲突。 9.3.2 处理冲突的方法 9.3.2 处理冲突的方法 01 ^ 14 27 79 55 68 19 84 20 10 23 11 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ 0 1 2 3 4 5 6 7 8 9 10 11 12 (19,14,23,1,68,20,84,27,55,11,10,79) H(key)=key MOD 13 9.3.3 哈希表的查找及其分析 总结: 前面整体讲述的为哈希造表过程,即如何构造出一个完整的哈希表,主要包括两方面的内容: (1)选取合理的哈希函数; (2)选取处理冲突的方法。 下面回到本章的主题:如何对哈希表进行查找。 9.3.3 哈希表的查找及其分析 查找过程: 给定K值,根据造表时设定的哈希函数求得哈希地址: 若表中此位置上没有记录,则查找不成功; 否则,比较关键字,若和给定值相等,则查找成功; 否则,根据造表时设定的处理冲突的方法找“下一地址”,直至哈希表中某个位置为“空”或者表中所填记录的关键字等于给定值为止。 总结: 哈希查找成功条件:表中所填记录的关键字等于给定值。 哈希查找失败条件:哈希表中某个位置为“空”(没有记录)。 9.3.3 哈希表的查找及其分析 例 已知一组关键字(19,14,23,1,68,20,84,27,55,11,10,79) 哈希函数为:H(key)=key MOD 13, 哈希表长为m=16(地址空间为0~15), 设每个记录的查找概率相等,试用下面两种方法处理冲突并分析其效率 (1) 用线性探测再散列处理冲突 H(55)=3 冲突,H1=(3+1)MOD16=4 冲突,H2=(3+2)MOD16=5 H(79)=1 冲突,H1=(1+1)MOD16=2 冲突,H2=(1+2)MOD16=3 冲突,H3=(1+3)MOD16=4 冲突,H4=(1+4)MOD16=5 冲突,H5=(1+5)MOD16=6 冲突,H6=(1+6)MOD16=7 冲突,H7=(1+7)MOD16=8 冲突,H8=(1+8)MOD16=9 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 查找成功时的ASL=(1*6+2+3*3+4+9)/12=2.5 14 1 68 27 55 19 20 84 79 23 11 10 H(19)=6 H(14)=1 H(23)=10 H(1)=1 冲突,H1=(1+1) MOD16=2 H(68)=3 H(20)=7 H(84)=6 冲突,H1=(6+1)MOD16=7 冲突,H2=(6+2)MOD16=8 H(27)=1 冲突,H1=(1+1)MOD16=2 冲突,H2=(1+2)MOD16=3 冲

文档评论(0)

2226657222 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档