處理hash衝突

「處理衝突」 的實際含義是: 爲產生衝突的地址尋找下一個哈希地址。函數

1. 開放定址法spa

2. 鏈地址法blog

---------------------------------------------------------------------------------------------------------------------------------------------------------------隨機數

1. 開放定址法im

爲產生衝突的地址 H(key) 求得一個地址序列: H0, H1, H2, …, Hs 1≤ s≤m-1 其中:鏈表

H0 = H(key)img

Hi = ( H(key) + di ) MOD mdi

i=1, 2, …, sco

對增量 di 有三種取法:background

1) 線性探測再散列 di = c* i 最簡單的狀況 c=1

2) 平方探測再散列 di = 12, -12, 22, -22, …,

3) 隨機探測再散列 di 是一組僞隨機數列 或者 di=i×H2(key) (又稱雙散列函數探測)

---------------------------------------------------------------------------------------------------------------------------------------------------------------

2. 鏈地址法

將全部哈希地址相同的記錄 都連接在同一鏈表中

例如:同前例的關鍵字,哈希函數爲 H(key)=key MOD 7

 

---------------------------------------------------------------------------------------------------------------------------------------------------------------

相關文章
相關標籤/搜索