2

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

更新

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

4

1 回答 1

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

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

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

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

这对我来说真的没有意义,为什么会这样,但我得出这个结论的方式是,由于给定的值,模除数必须将移位增加 6(对于模 13,38 和 101 相差 1他们相隔六个空格)。我觉得模 19 确实打破了这个界限,所以虽然这似乎很合适,但我会寻求一个更好的答案,但这就是我想出的,我觉得我有一种方法来猜测和检查。

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

于 2011-12-10T09:06:46.350 回答