双重哈希

双重哈希

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

(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++。

相关推荐

蚁悃是什么意思
365bet注册送

蚁悃是什么意思

📅 09-03 👁️ 7826
汽车电瓶亏电怎么恢复电量应急打火,5个步骤,轻松搞定
数字668吉利还是688(结婚包红包688是什么意思)
真的365会不会黑款

数字668吉利还是688(结婚包红包688是什么意思)

📅 07-03 👁️ 8140