我在这里有一个关于双散列的作业,我总结了一点:
我有数组:17, 6, 5, 8, 11, 28, 14, 15 h1(k) = k mod 11, h2(k) = 1 + (k mod 9), Size of hash table = 11 The double哈希函数:dh(k) = k mod 11 + (j + (k mod 9)。
现在我计算哈希值:
h(17) = k mod 11 = 6 - OK
h( 6) = 6 = collision => 6 + (1 + (6 mod 9) = 12 = NOK
=> 这超出了我的指数范围,而且指数越高,它也会越高。如果我将第二个 HashFuncion 的加法更改为减法,那么 HashValues 将变为负数 - 这也不好。
我究竟做错了什么?
谢谢祖萨娜