确定给定键的Double Hashing函数 - >哈希位置值

时间:2011-11-22 02:08:58

标签: hash double-hashing

给定一堆键及其散列值,如何确定双重散列函数?

更新

我认为h(x) = k % 13 + 1

1 个答案:

答案 0 :(得分:0)

h(x) = (x+1) % 13

你有什么,但是你想在加一个模数后得到模数,所以结果值是[0,12]而不是[1,13] ...但是你做对了。

对于r(x)我能想到的最好的是:

r(x) = (x+6) % 19

这对我来说真的没有意义,为什么会这样,但我得出的结论是,模数除数必须将移位增加6,因为给定的值(38和101的差值为1)对于模13,它们相隔六个空格)。我觉得模数19真的让这个突破,所以虽然这看起来很合适,但我会寻求更好的答案,但这就是我提出来的,我觉得我有一种方法而不是猜测和检查。

祝您好运,如果您对此有任何疑问,请随时放弃评论。