C - 位集向量和布隆过滤器之间的区别

问题描述:

所以我明白,位集向量本质上可以为每个位存储true/false集,但是我对这个和bloom过滤器之间的区别感到困惑,我理解bloom过滤器使用散列函数并可以返回误报,但是他们可以存储的数据类型和函数的实际区别是什么?C - 位集向量和布隆过滤器之间的区别

+5

Bitset矢量?听起来更像是C++ ... – ThingyWotsit

+0

@ThingyWotsit我已经制作了自己的ADT,它以一种位向量的方式工作,更多地寻找它背后的理论:)任何澄清? – realicado

+2

https://en.wikipedia.org/wiki/Bloom_filter – alk

位集向量只是一个任意位数的大字段,可以使用它们的索引单独设置。

bloom过滤器是一种集合(不包含数据本身),允许快速决定元素是否包含在集合中。它是建立顶部的某种bitset向量,在插入元素或读取它们以检查元素是否被包含(没有给你直接访问其底层位向量)时,将后者的几个位设置为1。