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来降低冲突带来的影响

image

posted @ 2018-01-04 12:45  rebeca8  阅读(1049)  评论(0编辑  收藏  举报