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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

Hash算法分析(基础).ppt

1、Hash 算法分析,湖大龙凤婷,2012.9.16,Contents,Hash?,某个东西,某种形式的一个确定结果,什么是哈希表?,Hashtable,根据关键码值直接进行访问的数据结构,为什么使用哈希表?,Y,N,Y,N,哈希表的缺点,1、使元素丧失了有序性 2、元素不能够紧密的排列,需要足够大的空间 3、两个或多个不同项被散列到同一位置是不可避免的冲突,冲突,对不同的关键字可能得到同一散列地址 即key1key2,而f(key1)=f(key2),常用的构造哈希函数的方法,1.直接寻址法 2.数字分析法 3.平方取中法 4.叠加法 5.随机数法 6.除留余数法,常用的构造哈希函数的方法,1

2、. 直接寻址法:取关键字或关键字的某个线性函数值为散列地址即H(key)=key或H(key) = akey + ba和b为常数适合于: 地址集合的大小 = 关键字集合的大小,常用的构造哈希函数的方法,有一组关键码如下: 942148, 941269, 940527, 941630, 941805, 941558, 942047, 940001 散列函数:Hash (key) = key - 940000 Hash (942148) = 2148 Hash (941269) = 1269Hash (940527) = 527 Hash (941630) = 1630Hash (941805)

3、= 1805 Hash (941558) = 1558Hash (942047) = 2047 Hash (940001) = 1,常用的构造哈希函数的方法,2. 数字分析法:选择其中数字分布比较均匀的若干位,所组成的新的值作为关键字或者直接作为函数值。,常用的构造哈希函数的方法,3.平方取中法:取关键字平方后的中间几位为哈希地址。12321 12345 15682 151807041 152399025 245925124,常用的构造哈希函数的方法,4.叠加法:将关键字分割成位数相同的几部分,然后取这几部分的叠加和(舍去进位)作为哈希地址。移位法 把各部分的最后一位对齐相加;分界法 各部分不

4、折断,沿各部分的分界来回折叠, 然后对齐相加,将相加的结果当做散列地址。适合于: 关键字的数字位数特别多,常用的构造哈希函数的方法,关键码为 key = 23938587841 若存储空间限定 3 位, 则划分结果为每段 3 位. 可将上述关键码可划分为 4段:,常用的构造哈希函数的方法,5.随机数法:设定哈希函数为:H(key) = Random(key)其中,Random 为伪随机函数适用于对长度不等的关键字构造哈希函数,常用的构造哈希函数的方法,6. 除留余数法:取关键字被某个不大于散列表表长m的数p除后所得的余数为散列地址即 H(key) = key MOD p (p=m)给定一组关键

5、字为: 12, 39, 18, 24, 33, 21 H(key) = key MOD 9 3 3 0 6 6 3这里对P要有什么限制条件么?,常用的构造哈希函数的方法,12, 39, 18, 24, 33, 21若取 p=9, 则他们对应的哈希函数值将为: 3, 3, 0, 6, 6, 3若取 P=18,则他们对应的哈希函数值将为12,3,0,6,15,3若取p=24,则他们将对应的哈希函数值将为:12,15,18,0,9,21一般结论:选取的P较小,“冲突”的可能性较大,处理冲突的方法,1.拉链法 拉出一个动态链表代替静态顺序存储结构 但链表的设计过于麻烦,增加了编程复杂度 可以完全避免哈希函数的冲突2.多哈希法 设计二种甚至多种哈希函数 函数设计的越好或越多可以将几率降到最低,处理冲突的方法,3.开放地址法 公式:Hi=(H(key)+di) MOD m i=1,2,.,k(k=m-1) m为哈希表的表长 di 是产生冲突的时候的增量序列 如果di值可能为1,2,3,.m-1,称线性探测再散列 如果di取值可能为1,-1,2,-2,4,-4,9,-9,16,-16,.k*k,-k*k(k=m/2)称二次探测再散列 如果di取值可能为伪随机数列,称伪随机探测再散列4.建域法建立一个公共溢出区用以存储发生冲突的记录,几种简单的哈希算法,Thank You !,

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


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

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

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