ImageVerifierCode 换一换
格式:PPT , 页数:18 ,大小:86KB ,
资源ID:8179478      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-8179478.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构26-哈希表(一).ppt)为本站会员(hskm5268)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

数据结构26-哈希表(一).ppt

1、数 据 结 构 第二十六课 哈希表(一),第四十课 哈希表(一),本课主题: 哈希表(一) 教学目的: 掌握哈希表的概念作用及意义,哈希表的构造方法 教学重点: 哈希表的构造方法 教学难点: 哈希表的构造方法 授课内容:,一、哈希表的概念及作用,1.散列函数的提出 从前讲的检索,都是用待检索的关键字和各记录的关键字比较,若相等,则检索成功,否则,继续比较。,我们希望找到一个函数,对关键字进行计算,把函数值解释为记录的存储地址,这就是散列检索。 所用的函数就叫散列函数。 用散列法存储的线性表叫散列表。 查找时也用同样方法计算地址,到相应单元去找记录。若找到,则查找成功;若该单元无记录,则查找失败

2、;若该单元有记录,但不是所找,要继续查找。这种方法也称关键字-地址转换法。,哈希表最常见的例子是以学生学号为关键字的成绩表,号学生的记录位置在第一条,号学生的记录位置在第条.如果我们以学生姓名为关键字,如何建立查找表,使得根据姓名可以直接找到相应记录呢?,最小值可能为3 最大值可能为 78 可放75个学生用上述得到的数值作为对应记录在表中的位置,得到右表:,上面这张表即哈希表。 如果将来要查李秋梅的成绩,可以用上述方法求出该记录所在位置: 李秋梅:lqm 12+17+13=42 取表中第42条记录即可。 问题:如果两个同学分别叫刘丽和刘兰 该如何处理这两条记录? 这个问题是哈希表不可避免的,即

3、冲突现象:对不同的关键字可能得到同一哈希地址。,散列检索的术语,根据设定的散列函数h(key)和处理冲突的方法,将一组关键字映象到一个有限的连续的地址集(区间)上,并以关键字在地址集中的“象”作为记录在表中的存储位置,这种表称为散列表,这一映象过程叫散列(或哈希造表),所得存储地址称散列地址或哈希地址。,碰撞(冲突):两个关键字不同,但其散列函数值相 同,即key1key2,f(key1)=f(key2)。冲突是不可避免的,举标识符的例子。1939年 davenport的“生日悖论”。 同义词:发生碰撞(冲突)的关键字称为同义词。 负载因子:定义为=(散列表中结点的数目)/(散列表的长度)一般

4、取0.60.9,采用散列表着重考虑两个问题:,选择一个好的散列函数; 选择一种解决碰撞(冲突)的方法。,二、散列函数的构造方法,、直接定址法 例如:有一个从1到100岁的人口数字统计表,其中,年龄作为关键字,哈希函数取关键字自身。,、数字分析法 分析关键字的各位,去掉分布不均匀的位,留下均匀的位作为地址。,有学生的生日数据如下: 年.月.日 75.10.03 75.11.23 76.03.02 76.07.12 75.04.21 76.02.15 . 经分析,第一位,第二位,第三位重复的可能性大,取这三位造成冲突的机会增加,所以尽量不取前三位,取后三位比较好。,、平方取中法 关键字平方后取中间

5、几位为哈希地址。,、折叠法 关键字位数较多,分布均匀,用折叠法。折叠法又分为移位折叠和间界折叠。 例如:每一种西文图书都有一个国际标准图书编号,它是一个10位的十进制数字,若要以它作关键字建立一个哈希表,当馆藏书种类不到10,000时,可采用此法构造一个四位数的哈希函数。如果一本书的编号为0-442-20586-4,则:,、除余法 取关键字被某个不大于哈希表表长m的数p除后所得余数为哈希地址。 H(key)=key MOD p (p=m) 、随机数法 选择一个随机函数,取关键字的随机函数值为它的哈希地址,即H(key)=random(key) ,其中random为随机函数。通常用于关键字长度不等时采用此法。,7基数转换法 将一个小基数的数看作大基数的数,再转换为小基数的数。如key=(215874)10,将其看作以13为基数,再转化为相应的十进制数。(215874)13=(783579)10,再进行数字分析,选2,3,4,5位,得h(215874)=8357。,三、总结,哈希表的优缺点回目录 上一课 下一课,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报