积累工作中常见算法_布隆过滤器_Bloom Filter_你说有那不一定有_2023-10-18 11:21:55_定时更新_打个时间戳---算法面试题001

布隆过滤器是一种数据结构,用于快速检查元素是否存在于大型集合中,具有一定的误判率但占用资源低。它通过多个哈希函数将数据映射到位数组中,插入和查询时进行哈希运算。尽管可能会误判,但能高效判断数据是否存在,适合应用场景中对误判容忍度较高的情况。通过增加哈希函数数量可降低误判率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.布隆过滤器

   解释一下什么是布隆过滤,布隆过滤的优缺点,以及布隆过滤在hudi中的作用?都是哪些常见的框架中用到了布隆过滤?

实际上hudi在自己的MOR表中进行数据查找,有则更新,无则插入的时候就是用的这种布隆过滤来查找的.速度很快.

  实际上布隆过滤也是个数据结构,一种快速查询,确认数据是否在布隆结构中存在的方法,有一定的误判率,但是极速,占用资源很低.

   布隆过滤器(Bloom Filter)是一种数据结构,用于快速检查一个元素是否属于某个集合中。它可以快速判断一个元素是否在一个大型集合中,且判断速度很快且不占用太多内存空间。

  怎么往布隆过滤器中添加数据,来看一下,插入一个字符串,比如hello world的过程

假设要将字符串"hello world"添加到布隆过滤器中,该布隆过滤器使用3个哈希函数,位数组大小为10,步骤如下:

  1. 创建一个大小为10的位数组,初始化所有位为0。

  2. 设定3个哈希函数,如下:

  3. 哈希函数1:将字符串转化为一个整数,然后将整数对10取余

  4. 哈希函数2:将字符串中的每个字符的ASCII码值相加,然后将和对10取余

  5. 哈希函数3:将字符串翻转,然后将翻转后的字符串转化为一个整数,然后将整数对10取余

  6. 对字符串"hello world"进行3次哈希操作,得到3个哈希值分别为2、5、8。

  7. 将位数组中2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

添柴程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值