哈希算法的困惑

时间:2016-09-22 05:49:12

标签: algorithm math hash time-complexity

enter image description here enter image description here

我很困惑为什么从H i 中减去H i + 1 以计算k + i 2 。如果H i 在方程式中表示i 2 那么H i + 1 因子如何成为k,为什么它是减法而不是加法?

1 个答案:

答案 0 :(得分:1)

这个想法是这样的。在[二次探测[https://en.wikipedia.org/wiki/Quadratic_probing)中,搜索位置(涉及) H 1 ,H 2 ,H 3 ,... H i ,H i + 1 ,... 在循环中,您可以避免重新计算 i 2 每个 i

说你已经计算过 H i = k + i 2 。那么 H i + 1 = k +(i + 1) 2 = k + i 2 + 2i + 1 = H < sub> i + 2i + 1 。所以,如果你已经计算了 H i ,你只需要为 H i + 1 <添加 2i + 1 /子>