資料結構 雜湊表的線性探測演算法

2021-07-12 05:12:27 字數 432 閱讀 1691

構造雜湊表常用的方法是:

除留餘數法--取關鍵值被某個不大於雜湊表長m的數p除后的所得的餘數為雜湊位址。hashkey= key % p。

直接定址法--取關鍵字的某個線性函式為雜湊位址hashkey= key 或 hashkey= a*key + ba、b為常數。

我在這裡主要使用一下除留餘數法hash(key) =key%p,(p這裡是雜湊表的長度)p最好是素數考慮降低雜湊衝突的原因,我並沒有在這上面過於追究此處雜湊表長度10,見線性探測圖。

雜湊表經常遇到的乙個問題就是雜湊衝突

要解決雜湊衝突閉雜湊方法主要有兩個:線性探測與二次探測。

在這裡,我將線性探測的原理用下圖表述:

資料結構 閉雜湊處理雜湊衝突(線性探測)

那發生了雜湊衝突,我們該如何處理呢?有兩種方法 1.閉雜湊,如線性探測 2.開雜湊,例如 雜湊桶 這裡我們用閉雜湊的方式來解決雜湊衝突。那如何去找下乙個空餘的位置呢?線性探測法,拿我們上次的關鍵碼集合為例,雜湊表的大小為10,假設雜湊函式為hash key key 10 當再往表裡插入43時,發現了...

資料結構 查詢 雜湊表的線性探測已經拉鍊法的查詢

直接定址法 一般沒啥用,消耗空間太大了 除留餘數法 一般來說是除以質數,因為質數只有本身和1才可除,這樣分布比較均勻,衝突率小 這種方法比較easy也比較常用 數字分析法 僅僅對那種資料量具有明顯區分特徵的才管用,並且要先知道有哪些數值,通常情況下資料是隨機分布的 平方取中法 對關鍵碼平方後取中間幾...

資料結構 雜湊表查詢演算法

1 雜湊查詢也叫雜湊查詢,整個雜湊查詢過程大概分兩步 1 在儲存時通過雜湊函式計算記錄的雜湊位址,並按此雜湊位址儲存該記錄。2 當查詢時,一樣通過雜湊函式計算記錄的雜湊位址,然後訪問雜湊位址的記錄。雜湊函式的構造方法 1 直接定址法 取關鍵字的某個線性函式值為雜湊位址 需要事先知道關鍵字的分布情況,...