入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

双重哈希

创建时间:2018-02-24 投稿人: 浏览次数:485

双重哈希属于开放地址哈希中的一种解决冲突方案,也就是说如果一次哈希不能解决问题的时候,要再次哈希,与再哈希方法不同的是,第二次使用的哈希函数与第一次是不同的:

(hash1(key) + i * hash2(key)) % TABLE_SIZE

一般来讲,

hash1(key) = key % TABLE_SIZE
hash2(key) = PRIME – (key % PRIME)

其中PRIME一般选一个比TABLE_SIZE小的一个质数就可以了,例如如果TABLE_SIZE=16,那么PRIME=13

注意:第二个哈希函数结果不能为0,而且第二个哈希函数要覆盖表的每一个单元。

至于i就从1开始尝试就是了,如果有冲突,则再尝试i++

阅读更多
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。