hash:一種用於查詢的資料結構
雜湊查詢的前提是已經一定的規則方法建好了雜湊表。基本思想是:」關鍵字-位址轉換法「->以資料物件的關鍵字為自變數,通過乙個確定的函式關係h,計算出對應的函式值h(key),把這個值解釋為資料物件的儲存位址,並按此存放,即儲存位置=h(key)
關鍵:1.構造好的雜湊函式
2.制定解決衝突(經過雜湊變換,可能將不同的關鍵字對映到同一雜湊位址上)的方案
雜湊函式構造方法:
1.直接定址法
h(key)=a*key+b (a,b為常數)
2.除留餘數法(重點)
假設雜湊表的表長為tablesize,選擇乙個正整數p,p<=tablesize,構造雜湊函式:h(key) = key mod p。一般選p為小於等於雜湊表表長tablesize的某個最大素數為好。用素數求餘數作為雜湊位址,比較均勻的分布在整個位址空間的可能性比較大。(如果p處理衝突的方法:
1.線性探測法(重點):
成功查詢的平均查詢長度:成功查詢序列每個資料的次數和/序列數的個數
查詢失敗的平均查詢長度:把查詢失敗的資料分為tablesize類,即0~tablesize-1(就像人再多,可分為男人女人),每類資料查詢失敗的次數和/tablesize
2.平方探測法:
di=i^2和-i^2,即增量序列為1^2,-1^2,2^2,-2^2,......,q^2,-q^2
有乙個定理:如果雜湊表長度tablesize是某個4*k+3(k是正整數)形式的素數時,平方探測法就可以探查到整個雜湊表空間
雜湊(hash 雜湊表)
可以認為雜湊有著陣列的思想,它將所有的資料段拼成乙個陣列 順序表 進行儲存,通過雜湊函式,可以基本上以o 1 的時間複雜度來查詢和儲存資料。通過資料段中的唯一關鍵字 key 經過某種演算法,得出此資料段在整個雜湊陣列 順序表 中的的下標,然後直接取元素即可。有資料結構如下 資料段 key,value...
Hash和雜湊 雜湊 表
hash又稱為雜湊,是把任意長度的輸入 又叫做預對映pre image 通過雜湊演算法變成固定長度的輸出,該輸出就是雜湊值。hash演算法還有乙個特點,就是很難找到逆向規律。在同一函式下,如果兩個雜湊值是不相同的,那麼這兩個雜湊值的原始輸入也是不同的。hash演算法又被稱為雜湊演算法。雖然被稱為演算...
Hash雜湊儲存
什麼是雜湊儲存 雜湊儲存,又稱hash儲存,是一種力圖將 資料元素 的儲存 hash 位置與關鍵碼之間建立確定對應關係的查詢技術。雜湊法儲存的基本思想是 由 節點的關鍵碼值決定節點的儲存位址。雜湊技術除了可以用於查詢外,還可以用於儲存。雜湊儲存的特點 雜湊是陣列儲存方式的一種發展,相比陣列,雜湊的資...