Source

布隆过滤器参数计算与Golang实现

2026-04-24 data-structures articles

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-structure Bloom Filter:一种基于哈希函数的概率数据结构,用于快速判断元素是否存在
  • language Golang:用于实现参数计算的编程语言

抽取到的对比

  • 未抽取到明确对比关系

附件

  • 无额外附件