Cuckoo Hash Hash衝突的解決辦法

2022-05-15 10:59:25 字數 627 閱讀 7971

1、cuckoo filter hash演算法

2、cuckoo hash

用途:

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

演算法描述

使用hasha、hashb計算對應的key位置:

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

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

3、兩個位置均不為空,則踢出乙個位置後插入,被踢出的對呼叫該演算法,再執行該演算法找其另乙個位置,迴圈直到插入成功。

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

優化(減少雜湊碰撞):

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

2、乙個key對應多個value;

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

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

學習筆記 月衝年衝

公積金衝還貸分為兩種 年衝和月衝。不管是月衝還是年衝,首先沖掉的都是公積金部分。一 年衝,衝的是本金 如果組合貸款中公積金貸了100w,每次年衝的時候都是先衝公積金貸款的本金,等到哪天把公積金本金衝沒了,繼續年衝的話,才開始衝商貸的本金,然後重新按照剩餘的本金和還款時間開始核算月還款。年衝,一年只有...

ListView與ScrollView衝突解決方法

眾所周知listview與scrollview都具有滾動能力,對於這樣的view控制項,當scrollview與listview相互巢狀會成為一種問題 問題一 scrollview與listview巢狀導致listview顯示不全面 問題二 scrollview不能正常滑動 解決方式一 scroll...

git解決non fast forward衝突

在使用git的過程中,我們總會遇到提交衝突問題。在今天更新git提交時,由於之前沒有更新分支,同時又提交了分支中的 而git不能在不丟失提交的情況下對遠端庫進行修改,這就導致了再次提交 是無法push成功的情況。git提交被拒絕,提示 non fast forward 解決方法 1.git fetc...