Cuckoo Hash——Hash衝突的解決辦法

來源:互聯網
上載者:User

標籤:

參考文獻:

  1、Cuckoo Filter hash演算法

  2、cuckoo hash

用途:

  Cuckoo Hash(布谷鳥散列)。問瞭解決雜湊衝突的問題而提出,利用較少的計算換取較大的空間。佔用空間少,查詢速度快。經常應用於Bloom Filter和記憶體管理中。之所以起這個名字是因為布谷鳥生性貪婪,不自己築巢,而是在別的鳥巢裡面鳥蛋孵化,先成長的幼鳥會將別的鳥蛋擠出,這樣獨享“母愛”,類似於雜湊衝突處理過程。

演算法描述:

  使用hashA、hashB計算對應的key位置:

    1、兩個位置均為空白,則任選一個插入;

    2、兩個位置中一個為空白,則插入到空的那個位置

    3、兩個位置均不為空白,則踢出一個位置後插入,被踢出的<key,value>對調用該演算法,再執行該演算法找其另一個位置,迴圈直到插入成功。

  如果被踢出的次數達到一定的閾值,則認為hash表已滿,並進行重新雜湊rehash

最佳化(減少雜湊碰撞):

  1、將一維改成多維,使用桶(bucket)的4路槽位(slot);

  2、一個key對應多個value;

  3、增加雜湊函數,從兩個增加到多個;

  4、增加雜湊表,類似於第一種;

Cuckoo Hash——Hash衝突的解決辦法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.