• <noscript id="yywya"><kbd id="yywya"></kbd></noscript>
  • 發布時間:2023-07-31 11:11 原文鏈接: hash算法是怎么樣的

    hash算法是一種散列算法,是把任意的長度的輸入,轉換成固定的額輸出,福鼎的輸出,輸出的是散列值。在空間的比較中,輸入的空間是遠大于輸出的散列值的空間,不同輸入散列成同樣的輸出,一般很難從輸出的散列值獲取輸入值的。

    常用的hash函數有直接取余法、乘法取整法,平方取中法。在直接取余法中,質數用到的比較多,在乘法取整法中,主要用于實數,在平方取中法里面,平方后取中間的,每位包含的信息比較多些。

    Hash在管理數據結構中的應用

    在用到hash進行管理的數據結構中,就對速度比較重視,對抗碰撞不太看中,只要保證hash均勻分布就可以。比如hashmap,hash值(key)存在的目的是加速鍵值對的查找,key的作用是為了將元素適當地放在各個桶里,對于抗碰撞的要求沒有那么高。

    換句話說,hash出來的key,只要保證value大致均勻的放在不同的桶里就可以了。但整個算法的set性能,直接與hash值產生的速度有關,所以這時候的hash值的產生速度就尤為重要


  • <noscript id="yywya"><kbd id="yywya"></kbd></noscript>
  • 东京热 下载