布隆过滤器及Java实现
来源:互联网 发布:北京培训seo哪个好 编辑:程序博客网 时间:2024/05/22 14:44
布隆过滤器实际上是由一个很长的二进制向量和一系列随机映射函数组成,布隆过滤器用于检索一个元素是否在一个集合中
布隆过滤器具有空间和时间优势。布隆过滤器存储空间和插入/查询时间都是常数。另外, Hash 函数相互之间没有关系,方便由硬件并行实现。布隆过滤器不需要存储元素本身,在某些对保密要求非常严格的场合有优势
缺点
存在一定误算率,即Bloom Filter报告某一元素存在于某集合中,但是实际上该元素并不在集合中,但如果某个元素确实没有在该集合中,那么Bloom Filter是不会报告该元素存在于集合中的,不会漏报;另外从布隆过滤器中删除元素困难.
具体实现
先建立一个16亿二进制常量,然后将这16亿个二进制位全部置0。对于每个字符串,用8个不同的随机产生器(F1,F2,.....,F8)产生8个信息指纹(f1,f2,....,f8).再用一个随机数产生器G把这八个信息指纹映射到1到16亿中的8个自然数g1,g2,...,g8。现在把这8个位置的二进制位全部变为1。这样一个布隆过滤器就建好了
示例代码
参考:
http://www.cnblogs.com/haippy/archive/2012/07/13/2590351.htmlhttp://blog.csdn.net/acceptedxukai/article/details/7031899
0 0
- 布隆过滤器及Java实现
- 布隆过滤器java实现
- 布隆过滤器实现及应用
- 布隆过滤器Java实现Demo
- BloomFilter布隆过滤器的java实现
- 布隆过滤器(Bloom Filter)原理及python实现
- 实现布隆过滤器
- 布隆过滤器(Bloom Filter)Java实现
- 布隆过滤器(Bloom Filter)的java实现
- 布隆过滤器(Bloom Filter)Java实现
- 布隆过滤器总结(三)Java代码实现
- Java实现布隆过滤器(已爬URL过滤)
- 布隆过滤器(Bloom Filter)Java实现
- 布隆过滤器(Bloom Filter)Java实现 - printk(KERN
- 布隆过滤器(Bloom Filter)Java实现
- Java实现布隆过滤器(已爬URL过滤)
- Java实现布隆过滤器(已爬URL过滤)
- JAVA实现较完善的布隆过滤器
- 2.DP数字三角形
- 快速排序(未)
- oracle检索出存在指定字段的所有表
- FP-Growth算法介绍
- jmeter JDBC运行报错Table 'performance_schema.session_variables' doesn't exist
- 布隆过滤器及Java实现
- cpp中使用sizeof和计算类占用空间的大小
- awk指定分割符
- FileDialog::getOpenFileName()函数用法及FindDialog::FindDialog(QWidget *parent) :QDialog(parent)
- HDU 1532 Drainage Ditches(网络流水题【Edmond-Karp算法】)
- [Android]对Activity四种加载模式( launchMode )的理解
- 就算心情不好也得写啊
- 图像分类,物体检测,语义分割,实例分割的联系和区别
- 维基百科简体中文语料的获取