解決雜湊衝突的常用方法

2021-08-20 07:55:28 字數 474 閱讀 3901

1、開放定址法

基本思想是:當關鍵字key的雜湊位址p=h(key)出現衝突時,以p為基礎,產生另乙個雜湊位址p1,如果p1仍然衝突,再以p為基礎,產生另乙個雜湊位址p2,…,直到找出乙個不衝突的雜湊位址pi ,將相應元素存入其中。

2、再雜湊法

這種方法是同時構造多個不同的雜湊函式:

hi=rh1(key)  i=1,2,…,k

當雜湊位址hi=rh1(key)發生衝突時,再計算hi=rh2(key)……,直到衝突不再產生。這種方法不易產生聚集,但增加了計算時間。

3、鏈位址法

這種方法的基本思想是將所有雜湊位址為i的元素構成乙個稱為同義詞鏈的單鏈表,並將單鏈表的頭指標存在雜湊表的第i個單元中,因而查詢、插入和刪除主要在同義詞鏈中進行。鏈位址法適用於經常進行插入和刪除的情況。

4、建立公共溢位區

這種方法的基本思想是:將雜湊表分為基本表和溢位錶兩部分,凡是和基本表發生衝突的元素,一律填入溢位表。

解決雜湊衝突的方法

在實際的應用中,選取合適的雜湊函式可減少衝突,但衝突是不可避免的。所以我就想給大家說幾種解決雜湊衝突的方法啦 首先就是開放定址法,用這個方法處理衝突的核心思想就是在衝突發生的時候,形成乙個位址序列,順著這個序列挨個去檢查探測,一直等到找到乙個 空 的開放位址。把我們發生衝突的關鍵字值存放到這個 空 ...

解決雜湊衝突的方法

開放定址法和鏈位址法 開放定址法 當衝突發生時,使用某種探查 亦稱探測 技術在雜湊表中形成乙個探查 測 序列。沿此序列逐個單元地查詢,直到找到給定 的關鍵字,或者碰到乙個開放的位址 即該位址單元為空 為止 若要插入,在探查到開放的位址,則可將待插入的新結點存人該位址單元 查詢時探查到開放的 位址則表...

解決雜湊衝突的方法

解決雜湊衝突的方法 1 開放定址法 當衝突發生時使用某種探查技術在雜湊表中形成乙個探查序列。沿此序列逐個單元的查詢,直到找到給定的關鍵字,或者碰到乙個開放的位址為止。線性探測法 挨個向後找。線性補償探測法 將步長從1改為q,要求q與m互質。j j q m 隨機探測法 步長改為隨機數。雙重雜湊法 又稱...