实时计算工具库 stream-lib Top K 排名 CountMinSketch

CountMinSketch是一种数据速写算法,用于在有限空间内估算数据集的频次。它适用于实时统计热门内容或计算高访问量页面。尽管存在精度损失,但通过计算hash值并存储在宽度为width的数组中,可以实现高效内存使用。当需要取值时,选取每个宽度中最小的hash值以减少冲突影响。例如,深度为100万、宽度为100万时,所需内存约15MB。在实际应用中,可以用来跟踪两条记录的出现次数和一条记录的出现次数。
摘要由CSDN通过智能技术生成

Count Min Sketch

图片来源 https://stackoverflow.com/questions/6811351/explaining-the-count-sketch-algorithm/35356116#35356116

CountMinSketch 是一种“速写”算法,能够使用较小的空间勾勒出数据集内各类事件的频次。比如,我们可以统计出当前最热门的推特内容,或是计算网站访问量最大的页面。当然,这一算法同样会牺牲一定的准确性。

算法会建立一张二维表

使用过程会不断计算hash值 然后循环往width(理解成一个数组)里面添加 (如果数据量 大于这个width 数据会不准确)

最后每一个深度的width(数组都会执行上面这个操作)  

取值时会取每一个width里面数据最少的那条(hash可能会冲突嘛 最少这个比较准)

IFrequency        freq   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值