布隆过滤器是什么?

可以把布隆过滤器理解为一个不怎么精确的set结构,当你使用它的 contains方法判断某个对象是否存在时,它可能会误判。 但是布隆过滤器也不是特别不精确,只要参数设置得合理,它的精确度也可以控制得相对足够精确,只会有小小的误判
概率。
当布隆过滤器说某个值存在时,这个值可能不存在; 当它说某个值不存在时,那就肯定不存在。 打个比方,当它说不认识你时,肯定就是真的不认识; 而当它说认识你时,却有可能根本没见过你,只是因为你的脸跟它认识的某人的脸比较相似(某
些熟脸的系数组合),所以误判以前认识你。
套在上面的使用场景中,布隆过滤器能准确过滤掉那些用户已经看过的内容,那些用户没有看过的新内容, 它也会过滤掉极小一部分(误判),但是绝大多数新内容它都能准确识别。 这样就可以保证推荐给用户的内容都是无重复的。

发布了50 篇原创文章 · 获赞 53 · 访问量 1557

猜你喜欢

转载自blog.csdn.net/qq_27843785/article/details/103570309
今日推荐