码迷,mamicode.com
首页 > 其他好文 > 详细

处理hash冲突

时间:2017-04-13 09:22:00      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:logs   哈希   随机   技术分享   产生   log   含义   back   hash   

“处理冲突” 的实际含义是: 为产生冲突的地址寻找下一个哈希地址。

1. 开放定址法

2. 链地址法

---------------------------------------------------------------------------------------------------------------------------------------------------------------

1. 开放定址法

为产生冲突的地址 H(key) 求得一个地址序列: H0, H1, H2, …, Hs 1≤ s≤m-1 其中:

H0 = H(key)

Hi = ( H(key) + di ) MOD m

i=1, 2, …, s

对增量 di 有三种取法:

1) 线性探测再散列 di = c* i 最简单的情况 c=1

2) 平方探测再散列 di = 12, -12, 22, -22, …,

3) 随机探测再散列 di 是一组伪随机数列 或者 di=i×H2(key) (又称双散列函数探测)

---------------------------------------------------------------------------------------------------------------------------------------------------------------

2. 链地址法

将所有哈希地址相同的记录 都链接在同一链表中

例如:同前例的关键字,哈希函数为 H(key)=key MOD 7

技术分享

 

---------------------------------------------------------------------------------------------------------------------------------------------------------------

处理hash冲突

标签:logs   哈希   随机   技术分享   产生   log   含义   back   hash   

原文地址:http://www.cnblogs.com/hellochennan/p/6702063.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!