雜湊表的查詢

2022-09-06 07:42:10 字數 1039 閱讀 7386

雜湊函式:把關鍵字為ki的物件存放在相對應的雜湊位址中

雜湊表:長度為m(m≥n)的連續記憶體單元

雜湊衝突:對於兩個關鍵字分別為ki和kj(i≠j)的記錄,有ki≠kj ,但h(ki)=h(kj).我們把這種現象稱為雜湊衝突.(雜湊衝突是很難避免的!!)

正因為雜湊衝突,所以雜湊表的實際主要就是解決雜湊衝突.但是實際上雜湊衝突是難以避免的,主要與三個因素有關:

1.與裝填因子有關。裝填因子α=儲存的記錄個數/雜湊表的大小 =n/m => α越小,衝突的可能性就越小; α越大(最大可取1), 衝突的可能性就越大。通常使最終的控制在0.6~0.9的範圍內。

2.與所採用的雜湊函式有關。好的雜湊函式會減少衝突的發生;不

好的雜湊函式會增加衝突的發生。

3.與解決衝突方法有關。好的雜湊衝突解決方法會減少衝突的發生

直接定址法

直接定址法是以關鍵字k本身或關鍵字加上某個數值常量c作為雜湊位址的方法.h(k)=k+c

除留餘數法

h(k)=k mod p(mod為求餘運算,p≤m p最好是質數)

數字分析法

接下來做個題目試試看

1.開放定址法:即衝突時找乙個新的空閒的雜湊位址

找空閒單元的方式有以下兩種

查詢 雜湊表查詢(雜湊表)

1 雜湊表查詢定義 雜湊技術是在記錄的儲存位置和它的關鍵字之間建立乙個確定的對應關係f,使得每個關鍵字key對應乙個儲存位置f key 查詢時,根據這個確定的對應關係找到給定值key的對映f key 若查詢集合中存在這個記錄,則必定在f key 的位置上。採用雜湊技術將記錄儲存在一塊連續的儲存空間中...

雜湊表(雜湊表)查詢

雜湊技術是在記錄的儲存位置和它的關鍵字之間建立起乙個確定的對應關係f,使每個關鍵字key對應乙個儲存位置f key f為雜湊函式,又稱雜湊函式。採用雜湊技術將記錄儲存在一塊連續的儲存空間中,這塊連續的儲存空間成為雜湊表 雜湊表。直接用key值的某個線性函式當位址。f key a key b 簡單,不...

雜湊表 雜湊表 查詢

直接定址法 數字分析法 平方取中法 平方取中法是將關鍵字平方之後取中間若干位數字作為雜湊位址。摺疊法摺疊法是將關鍵字從左到右分割成位數相等的幾部分,然後將這幾部分疊加求和,並按雜湊表表長取後幾體作為雜湊位址。除留餘數法 隨機數法 選擇乙個隨機數,取關鍵字的隨機函式值為它的雜湊位址。即 f key r...