直接定址法:
這個類似於資料庫的關鍵字,比如有乙個是people表,表中以年齡為關鍵字可以查到對應的人口數目!
數字分析法:
通過統計分析得出的乙個結果,比如對手機號進行儲存,130
***x1234,130營運商,***x是所屬地,1234直接使用者編號,
所以分析得出我們可以通過手機後4位進行雜湊位址
平方取中法:
對於不同的數如果進行平方的話再對其取其中的幾位數,這樣取出的數產生的重複性比較少!
比如:1234的平方:1522756 取227 227就是作為key了
缺點:如果對於1234567890這種很大的數進行平方運算占用cpu的計算能力,降低效率!
摺疊法:
摺疊法是將關鍵字從左到右分成幾個不同,然後將這幾部分進行相加得到key!
比如:1234567890 將其3個數字分為一組,則:123 456 789 000,紅色部分位數不夠進行補0!
然後將 123+456+789+000 =1368,如果你得雜湊位址只要求3位可以對1368取136作為雜湊位址!
除留餘數法:
key=value mod p,這樣key得出的結果則小於p,所以p的選擇很重要!
隨機數法:
key=random(value),這裡random是隨機函式
演算法之雜湊
雜湊演算法歷史悠久,業界著名的雜湊演算法也有很多,比如 md5 sha 等。在開發中,基本上都是拿現成的直接用。不管是 雜湊 還是 雜湊 這都是中文翻譯的差別,英文其實就是 hash 雜湊演算法的定義 任意長度的二進位制值串對映為固定長度的二進位制值串,這個對映的規則就是雜湊演算法,而通過原始資料對...
演算法之雜湊演算法
將任意長度的二進位制值串對映為固定長度的二進位制值串,這個對映的規則就是雜湊演算法。安全加密 安全加密主要利用雜湊演算法單向的特點。我們可以對要儲存的密碼進行雜湊演算法加密,這樣就算被攻擊且洩漏了資料庫資料,那麼別人也無法反向推導出密碼明文。唯一標識 唯一標識主要利用雜湊演算法的雜湊衝突非常小的特點...
雜湊之開雜湊,閉雜湊
有沒有一種方法時間複雜度,僅僅o 1 尼,那麼我們就要構造一種儲存結構,通過某種函式是之元素與它對應的關鍵碼之間能建立一一對映的關係,那麼自然通過之中一一對映的關係,我們就可以很快的找到我們需要的元素。所以進入雜湊這個這題首先我們需要乙個我們下標,這個下表在雜湊當中 我們就稱之為雜湊位址。而這個位址...