bloomfilter 以及count min sketch
Posted rebeca8
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bloomfilter 以及count min sketch相关的知识,希望对你有一定的参考价值。
bloomfilter
http://blog.csdn.net/v_july_v/article/details/6685894
count min sketch
http://www.cnblogs.com/fxjwind/p/3289221.html
这个方法比较简单, 原理就是, 使用二维的hash table, w是hash table的取值空间, d是hash函数的个数
对某个element, 分别使用d个hash函数计算相应的hash值, 并在对应的bucket上递增1, 每个bucket的值称为sketch, 如图
然后在查询某个element的frequency时, 只需要取出所有d个sketch, 然后取最小的那个作为预估值, 如其名
因为为了节省空间, w*d是远小于真正的element个数的, 所以必然会出现很多的冲突, 而最小的那个应该是冲突最少的, 最精确的那个
这个方法的思路和bloom filter比较类似, 都是通过多个hash来降低冲突带来的影响
以上是关于bloomfilter 以及count min sketch的主要内容,如果未能解决你的问题,请参考以下文章
浅谈BloomFilter下用Java实现BloomFilter
SP34096 DIVCNTK - Counting Divisors (general) min_25筛
这个程序为啥可以延时一秒: while(t[0].ti_sec==s&&t[0].ti_min==m&&t[0].ti_hour==h) gettime(t);