数据库查询就是运行不起来 会的人帮帮忙啊急!谢谢大家 明天中午12点之前
本质上布隆过滤器
(Bloom Filter)是一种数据结构,比较巧妙的概率型数据结构
(probabilistic data structure),特点是高效地插入和查询,可以用来告诉你 某样东西一定不存在或者可能存在
。
相比于传统的 List、Set、Map 等数据结构,它更高效、占用空间更少,但是缺点是其返回的结果是概率性的,而不是确切的。
可以一句话总结:
然后你可能要问了,他都不一定存在了,那它有什么用。
它虽然不保证100%存在,但是这个误判率
却是可以控制的,一般根据场景你可以设置一个可以接受的错误率,比如 0.0001(万分之一),0.00001(十万分之一)。在很多场景下,这个概率是可以接受的。在这些场景下,它就有用武之地了。
而它的优点非常明显,就是极少的空间占用,一般比正常存所有数据可以节省90%左右以上的内存。
如果有人对具体的误判率
怎么用数学公式推算出来的算法感兴趣。下面的详解
部分会给出推导的链接。