给定一堆键及其散列值,如何确定双重散列函数?
更新
我认为h(x) = k % 13 + 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真的让这个突破,所以虽然这看起来很合适,但我会寻求更好的答案,但这就是我提出来的,我觉得我有一种方法而不是猜测和检查。
祝您好运,如果您对此有任何疑问,请随时放弃评论。