十一 雜湊表(一)

2022-03-26 04:15:14 字數 564 閱讀 6674

舉個例子:

在來改造一下這個例子。

假設校長說,參賽編號不能設定得這麼簡單,要加上年級、班級這些更詳細的資訊。

通過上面的例子,可以總結出這樣的規律

int hash(string key)
再好的雜湊函式也無法避免雜湊衝突。常用的雜湊衝突解決方法有兩類,開放定址法(open addressing)和鍊錶法(chaining)。

開放定址法的核心思想是,如果出現了雜湊衝突,就重新探測乙個空閒位置,將其插入。

查詢操作:

刪除操作:

二次探測

雙重雜湊

總結一下:

裝載因子越大,說明空閒位置越少,衝突越多,雜湊表的效能會下降。

資料結構(十一)雜湊表結構

雜湊表實踐 h x x mod 10 的結果 4371 mod 10 1 1323 mod 10 3 6173 mod 10 3 4199 mod 10 9 4344 mod 10 4 9679 mod 10 9 1989 mod 10 9 將雜湊到同乙個值的所有元素保留在乙個鍊錶中 hi x ha...

十一 雜湊演算法

業界著名的雜湊演算法也有很多,比如 md5 sha 等。側重點 在實際應用中,如何用雜湊演算法解決問題?雜湊演算法 將任意長度的二進位制值串對映為固定長度的二進位制值串的對映規則 雜湊值 通過原始資料對映之後得到的二進位制值串。示例 md5雜湊演算法 注 md5 的雜湊值是 128 位的 bit 長...

雜湊表(雜湊表)捋一捋

雜湊表 hash table 通過將關鍵碼對映到表中的某個位置來儲存元素,然後根據關鍵碼用同樣的方式進行直接訪問 理想的搜尋方法是可以不經過任何比較,一次直接從表中得到要搜尋的元素。如果構造一種儲存結構,使元素的儲存位置與它的關鍵碼之間建立乙個確定的對應函式關係hash 那麼每個元素關鍵碼與結構中的...