布谷鸟哈希 & 布谷鸟过滤器的原理

本文详细介绍了布谷鸟哈希和CuckooFilter的工作原理,包括布谷鸟哈希的命名由来和其解决哈希碰撞的方法,以及CuckooFilter如何提供动态增删和高效查找,同时讨论了其与布隆过滤器的比较和局限性,特别是关于重复数据插入限制的处理策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引言

来填上篇文章《一文搞懂布隆过滤器原理》中的坑了,这篇博客我们来详细介绍一下布谷鸟哈希(Cuckoo Hash)和布谷鸟过滤器(Cuckoo Filter)的原理。
这里给出了两篇论文的链接:

布谷鸟哈希

为什么布谷鸟哈希起这个名字呢?这是因为布谷鸟生性狡猾又贪婪,它不肯自己筑巢,会把蛋下到别的鸟巢中,而且它的幼鸟也继承它的坏品德,它们通常会比正常的鸟早出生,在出生后幼鸟会将其他鸟蛋kick out,也就是踢出鸟巢,从而能独享"养父母"的食物。
布谷鸟哈希的算法就借鉴于此,当发生哈希碰撞的时候,new element会将old element踢走(kick out),不过被踢走的元素要比鸟蛋幸运,它们还有一个备用位置,当备用位置有元素时,也会将其kick out,如此循环往复,直到被踢的次数达到一个阈值,才确认哈希表已满,并执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值