BloomFilter文档.docVIP

  • 28
  • 0
  • 约9.9千字
  • 约 16页
  • 2018-04-27 发布于河南
  • 举报
BloomFilter文档

Bloom Filter的简介与应用 Bloom Filter Abstract Bloom-Filter,即布隆过滤 器,1970年由Bloom中提出。它可以用于检索一个元素是否在一个集合中,其优点是空间效率和查询时间都远远超过其他算法,其不足在于Bloom- Filter存在着误判。 Bloom Filter是一种简单的节省空间的随机化的数据结构,支持用户查询的集合。一般我们使用STL的std::set, stdext::hash_set,std::set是用红黑树实现的,stdext::hash_set是用桶式哈希表。上述两种数据结构,都会需要保存原始数据信息,当数据量较大时,内存就会是个问题。如果应用场景中允许出现一定几率的误判,且不需要逆向遍历集合中的数据时,Bloom Filter是很好的结构。 General Description 优点 查询操作十分高效。 节省空间。 易于扩展成并行。 集合计算方便。 代码实现方便。 有误判的概率,即存在False Position。 无法获取集合中的元素数据。 不支持删除操作。 缺点 有误判的概率,即存在False Position。 无法获取集合中的元素数据。 不支持删除操作。 定义 Bloom Filter是一个有m位的位数组,初始全为0,并有k个各自独立的哈希函数。 图1 添加操作 每个元素,用k个哈希函数计算出大小为k

文档评论(0)

1亿VIP精品文档

相关文档