代码改变世界

随笔档案-2012年02月

Bloom Filter算法

2012-02-08 23:22 by 横刀天笑, 10149 阅读, 收藏, 编辑
摘要: 集合数据结构一般都有这么一个方法:contains。其作用就是判断给定的元素是否存在集合中,这是一个常用的方法。其最简单的内部实现即遍历集合内的元素,一个个的判断是否与给定元素相等。为了更高效点我们甚至可以采用“更好的(好是相对的)”算法实现。比如如果该集合是已经排序的,那么我们用二分查找来实现contains肯定更好。但是,如果集合的数据量庞大到一定程度,大部分我们熟知的算法不再有什么用了。即使可以使用,但是机器内存也不允许。而Bloom Filter就是这么一个空间利用率非常高的算法。我们先来看看这个算法的原理:1 首先我们有一个长度为n的比特数组,开始的时候将这个比特数组里所有的元素都初 阅读全文
点击右上角即可分享
微信分享提示