Source
布隆过滤器参数计算与Golang实现
articles/algorithms/BloomFilter/index.md
该页面由 knowflow 基于 raw source 自动生成,用于发布层检索与回溯。
概述
布隆过滤器参数m和k的计算公式为m=-(n*ln(p))/ln(2)^2,k=(m/n)*ln(2),并提供Golang实现。
来源信息
- 分类:
articles - 原始类型:
knowledge - 原始路径:
articles/algorithms/BloomFilter/index.md - 关联概念:data-structures
摘录
实现自动计算最优参数 m 和 k 的函数 我们目标是编写一个函数: func EstimateParameters(n int, p float64) (m int, k int) - n 是预计添加的元素数量(比如 10 万) - p 是可以接受的误判率(比如 0.01) - m 是推荐的位数组大小(bit 总数) - k 是推荐的哈希函数数量 🎓 先讲清楚原理公式 从布隆过滤器的理论中有这两条公式: m = -(n * ln(p)) / (ln(2))^2k = (m / n) * ln(2) 其中: - ln 是自然对数 - ln(2) ≈ 0.693 ✍️ 第一步:写出公式计算的 Golang 版本 我们需要导入 mat…
抽取到的实体
data-structureBloom Filter:一种基于哈希函数的概率数据结构,用于快速判断元素是否存在languageGolang:用于实现参数计算的编程语言
抽取到的对比
- 未抽取到明确对比关系
附件
- 无额外附件