cuckoo hash
生活随笔
收集整理的這篇文章主要介紹了
cuckoo hash
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
??? 布谷鳥哈希最早于2001 年由Rasmus Pagh 和Flemming Friche Rodler 提出。該哈希方法是為了解決哈希沖突的問題而提出,利用較少計算換取了較大空間。名稱源于該哈希方法行為類似于布谷鳥在別的鳥巢中下蛋,并將別的鳥蛋擠出的行為。它具有占用空間小、查詢迅速等特性,可用于Bloom filter 和內存管理。
算法描述
算法使用hashA 和hashB 計算對應key 的位置。
圖例
1. 插入key1 兩個位置均為空,則插入任意位置.
2. 插入后
3. 插入key2 兩個位置有一個位置為空,則插入空的位置中
4. 插入后效果
5. 新插入keyi 發現對應兩個位置均被占據
?
6. 隨機選擇一個位置提出所在位置的key(key1),將踢出的key 放置在另一個哈希結果對應的位置上
7. 如果踢出的key(key1)又占據/踢出了其他key(keyj)的位置,則反復執行上面的過程直到結束
其他
增加哈希表過程如下:
當新插入一個key hashA 在上面哈希表位置和hashB 在下面哈希表的位置分別被key1 和keyx 占據,任選一個key 提出(這里選擇key1)。
計算key1 hashB 的值然后插入到下面的hashB 對應的哈希表中。
?
轉載于:https://www.cnblogs.com/cobbliu/archive/2013/01/08/2850979.html
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的cuckoo hash的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: zigbee 常规配置
- 下一篇: 013:ADS semihosting与