面试题答案
一键面试- 哈希函数个数:
- 影响方式:哈希函数个数过少,会导致不同数据映射到布隆过滤器相同位置的概率增加,从而提高误判率;哈希函数个数过多,虽然能降低不同数据映射冲突概率,但会增加计算成本,同时可能使得布隆过滤器中被置为1的位过多,也会提高误判率。理想的哈希函数个数是在数据量和布隆过滤器大小确定的情况下,使误判率达到最低。
- 布隆过滤器位数组大小:
- 影响方式:位数组大小较小,数据映射时冲突的可能性增大,误判率会升高;位数组越大,能容纳更多不同数据的映射,冲突概率降低,误判率也随之降低。但位数组过大,会占用更多的存储空间。
- 数据量:
- 影响方式:当数据量增加时,如果布隆过滤器位数组大小和哈希函数个数不变,数据映射产生冲突的概率增大,误判率上升。要保持较低误判率,需要相应增加布隆过滤器位数组大小或调整哈希函数个数。
- 数据分布:
- 影响方式:如果数据分布不均匀,某些区域的数据大量集中,会导致这些区域的数据在布隆过滤器中映射时冲突概率增大,误判率升高;而均匀分布的数据能更好地利用布隆过滤器的空间,误判率相对较低。