一、定义 布隆过滤器(Bloom Filter)是一种概率型数据结构,用于判断一个元素是否在一个集合中。它由 Burton Howard Bloom 在 1970 年提出。布隆过滤器的特点是空间效率高和查询速度快,但是有一定的误判率,并且一旦添加元素后无法删除。 二、布隆过滤器的工作原理 2.1 初始化 创建一个位数组(bit array),长度为 m,所有位都初始化为 0 2.2 插入元素 对于每一个要加入集合的元素,使用 k 个不同的哈希函数对该元素进行哈希,得到 k 个不同的索引位置。将这些位置上的位设置为 1 2.3 查询元素 当查询一个元素是否存在于集合中时,同样用上述 k 个哈希函数对元素进行哈希,检查所得的 k 个位置上的值是否全都是 1。如果全是 1,则认为该元素可能存在于集合中;如果有一个位置是 0,则可以确定该元素不存在于集合中 三、特点 优点 : 空间效率高:相比于其它数据结构如哈希表或二叉树,布隆过滤器占用的空间更小。 查询速度快:由于只需要计算几个哈希函数,所以查询速度非常快。 可以节省大量的存储资源,尤其是在处理大数据量的情况下。 缺点 : 存在误报(F.... 有更新! 布隆过滤器 程序人生