利用Murmurhash实现Bloom filter(布隆过滤器)

本文介绍了如何使用Murmurhash来实现布隆过滤器,包括确定过滤器大小、哈希函数个数及设计哈希函数的步骤。Murmurhash是一种优秀的哈希函数,可以通过改变seed值生成不同版本的哈希函数,避免冲突。文章还提到了种子值的作用,以防止潜在的DoS攻击,并推荐了一篇深入探讨布隆过滤器性能和扩展性的文章。
摘要由CSDN通过智能技术生成

  关于布隆过滤器的介绍网上有很多,但都没有涉及具体如何实现,尤其是最后的k个相互独立的哈希函数如何实现。

  具体实现步骤如下:

  (关于布隆过滤器的介绍和相关证明,维基百科是看过的最好的:http://en.wikipedia.org/wiki/Bloom_filter )

  (1)确定过滤器大小:

    假设我们要处理的数据总数是N,可以容忍的错误率是P,那么我们首先需要确定出过滤器的slot数 M = -N*lnP/(ln2)^2。有了M我们就可以声明过滤器数组了。

  (2)确定哈希函数个数:

    通过上一步的M,我们可以求得哈希函数个数 K = M/N*ln2 。

  (3)设计哈希函数:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值