解決Hash衝突常用方法

一、開放地址法:從發生衝突的單元起,按照一定的順序從哈希表中找出一個空白單元,然後把衝突元素存入該單元的方法;所需長度>=元素個數;開放地址中解決衝突的方法:線性探測法、平方探測法、雙散列函數探測法;

二、鏈地址法:也就是數組+鏈表,將衝突的元素存入數組後面的鏈表中,hashmap中使用的方法就是鏈地址法;

三、再哈希:同時構造多個不同的哈希函數,第一個哈希函數衝突,使用第二個,以此類推;

四、建立公共溢出區:將哈希表分爲公共表和溢出表,發生溢出時,將溢出數據存入溢出區;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章