構造雜湊表常用的方法是:
除留餘數法--取關鍵值被某個不大於雜湊表長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 直接定址法 取關鍵字的某個線性函式值為雜湊位址 需要事先知道關鍵字的分布情況,...