1 个不稳定版本
0.1.0 | 2020年12月2日 |
---|
#44 in #per
6KB
130 行
布隆过滤器
布隆过滤器是一种可以检查元素是否存在于某个集合中的数据结构。但是,它可能会错误地检查,我们称这些错误匹配为假阳性。更普遍的是,为了在1%的假阳性概率下,每个元素平均需要少于10个比特,这与集合的大小或元素的数量无关。
用法
let mut bf = BloomFilter::new(10);
let b1 = Bytes::from(&b"hello"[..]);
let b2 = Bytes::from(&b"world"[..]);
bf.add(&b1);
let filter = bf.generate();
println!("{}", bf.contains(&filter, &b1)); // true
println!("{}", bf.contains(&filter, &b2)); // false
参考资料
依赖项
~225KB