1. 程式人生 > >HashTable解決衝突的方法之平方探測法

HashTable解決衝突的方法之平方探測法

平方探測法:為了消除一次聚集,hi(x)= ( Hash(x) + F(I) ) % TableSize(I=0,1,2…),其中F(I) = i^{2},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的位置空閒。