平方探测法:为了消除一次聚集,hi(x)= ( Hash(x) + F(I) ) % TableSize(I=0,1,2…),其中F(I) = ,Hash(x)表示经过hash函数后的值
例:假设表的size=10(这里不是素数,视为方便),数据:这里的hash函数=f(x)%tablesize
1 | 2 | 3 | 4 | 5 |
89 | 18 | 49 | 58 | 69 |
9 | 8 | 9 | 8 | 9 |
结果
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
49 | 58 | 69 | 18 | 89 | |||||
其中:58的位置确定:(8+1)%10的位置已被占有,再(8+4)%10,2的位置空闲;69的位置确定:(9+1)%10的位置已被占有,再(9+4)%10,3的位置空闲。