该算法应用于计算数据流中不同的item的数量,刚好最近作业考这个,还让写java代码… 简单说下,就是把每个item进行hash计算为32位或64位的整数,然后设一个m值,假设m=4,那就取二进制的hash值前四位用作分区,也就是把原始数据流分为2^m个子数据流,m为4那也就是16个,然后统计每个子数据流里的Max leading zeros,存储到M[16],最后的结果就是 a(m)*m* M[16]的调和平均数 a(m)是根据m取值计算出来的一个constant常数,用于纠正最后结果的 这是自己目前的理解,如有需要,后续可以分享相关资料给楼主,但是都是英文的哈