定義
通過雜湊函式尋找某個關鍵字所存在的位置,利用雜湊技術儲存在一塊連續的儲存空間中,這塊連續的儲存空間稱為雜湊表,對應的儲存位置成為雜湊位址。
衝突
在查詢儲存位置的時候會存在關鍵字不同,但是儲存位置相同,即對應的雜湊函式值相同,這種情況即「衝突」。
雜湊函式的構造
對錶長為m,關鍵字為x的雜湊函式公式可以表示為:f(x)= x mod p(p<=m),為了盡量避免衝突,選好p是關鍵。通常選取p為小於等於表長m的最小質數。
處理雜湊衝突
f(x)= x mod p;就比如x=37、47,p等於12的時候,37是不是就和47衝突了,所以就要處理衝突來使雜湊位址發布均勻。
可以做一下改變:
這樣f(37)=1,而f(32)=2就避免了衝突,但是光這樣無法達到均勻分布,所以可以改善一下di陣列:
查詢 雜湊表查詢(雜湊表)
1 雜湊表查詢定義 雜湊技術是在記錄的儲存位置和它的關鍵字之間建立乙個確定的對應關係f,使得每個關鍵字key對應乙個儲存位置f key 查詢時,根據這個確定的對應關係找到給定值key的對映f key 若查詢集合中存在這個記錄,則必定在f key 的位置上。採用雜湊技術將記錄儲存在一塊連續的儲存空間中...
雜湊表(雜湊表)查詢
雜湊技術是在記錄的儲存位置和它的關鍵字之間建立起乙個確定的對應關係f,使每個關鍵字key對應乙個儲存位置f key f為雜湊函式,又稱雜湊函式。採用雜湊技術將記錄儲存在一塊連續的儲存空間中,這塊連續的儲存空間成為雜湊表 雜湊表。直接用key值的某個線性函式當位址。f key a key b 簡單,不...
雜湊表 雜湊表 查詢
直接定址法 數字分析法 平方取中法 平方取中法是將關鍵字平方之後取中間若干位數字作為雜湊位址。摺疊法摺疊法是將關鍵字從左到右分割成位數相等的幾部分,然後將這幾部分疊加求和,並按雜湊表表長取後幾體作為雜湊位址。除留餘數法 隨機數法 選擇乙個隨機數,取關鍵字的隨機函式值為它的雜湊位址。即 f key r...