直接定址法
數字分析法
平方取中法
平方取中法是將關鍵字平方之後取中間若干位數字作為雜湊位址。
摺疊法摺疊法是將關鍵字從左到右分割成位數相等的幾部分,然後將這幾部分疊加求和,並按雜湊表表長取後幾體作為雜湊位址。
除留餘數法
隨機數法
選擇乙個隨機數,取關鍵字的隨機函式值為它的雜湊位址。 即:f(key)= random(key)。
現實中,我們應該視不同的情況採用不同的雜湊函式,這裡給大家一些參考方向:
1 計算雜湊位址所需的時間
2 關鍵字的長度
3 雜湊表的大小
4 關鍵字的分布情況
5 記錄查詢的頻率
開放定址法
線性探測法
平方探測法
可以修改di的取值方式,
例如使用平方運算來盡量解決堆積問題
fi(key)=(f(key)+di) mod m(di=1,-1,4,-4,……,q2,-q2,q<=m/1)
隨機探測法
還有一種方法是,在衝突時,對於位移量d採用隨機函式計算得到,我們稱之為隨機探測法
fi(key)=(f(key)+di)modm(di是由乙個隨機函式獲得的數列)
再雜湊函式法
fi (key)= rhi(key ) (i=1, 2,3,.k)
鏈位址法
例:假設關鍵字集合為,同樣使用除留餘數法求雜湊表。
公共溢位區法
例:假設關鍵字集 合為,同樣使用除留餘數法求雜湊表。
查詢 雜湊表查詢(雜湊表)
1 雜湊表查詢定義 雜湊技術是在記錄的儲存位置和它的關鍵字之間建立乙個確定的對應關係f,使得每個關鍵字key對應乙個儲存位置f key 查詢時,根據這個確定的對應關係找到給定值key的對映f key 若查詢集合中存在這個記錄,則必定在f key 的位置上。採用雜湊技術將記錄儲存在一塊連續的儲存空間中...
雜湊表(雜湊表)查詢
雜湊技術是在記錄的儲存位置和它的關鍵字之間建立起乙個確定的對應關係f,使每個關鍵字key對應乙個儲存位置f key f為雜湊函式,又稱雜湊函式。採用雜湊技術將記錄儲存在一塊連續的儲存空間中,這塊連續的儲存空間成為雜湊表 雜湊表。直接用key值的某個線性函式當位址。f key a key b 簡單,不...
查詢 之 雜湊表查詢(雜湊表)
雜湊技術是在記錄的儲存位置和它的關鍵字之間建立乙個確定的對應關係f,使得每個關鍵字key對應乙個儲存位置f key 這裡對應關係f稱為雜湊函式,又稱為雜湊 hash 函式。採用雜湊技術將記錄儲存在一塊連續的儲存空間中,這塊連續儲存空間稱為雜湊表或雜湊表 hash table 雜湊技術既是一種儲存方法...