我们之前在数据流基本问题--确定频繁元素(一)中提到了频繁元素的一个计算问题(找出出现次数超过m/k的元素),里面的算法返回的结果里肯定包含出现次数超过m/k的元素,但是也可能包含不超过m/k的元素(false
positive)。对于这个缺点,必须得进行额外一次的重新扫描,以确定最终答案。我们只允许进行一次的扫描,那么该怎么去做呢?这里我们简单讨论下lossy counting算法。
其实...
分类:
其他好文 时间:
2015-05-27 23:00:56
阅读次数:
637
下面可以谈论下如何求频繁元素的一个问题。
一、问题定义
如果一个数据流,其中m为数据流的大小,。我们可以定义每个元素出现的次数为,其中为第i个元素出现的次数。容易得出:。
如果给定参数k,我们想求出所有出现次数超过m/k的元素。也就是输出集合:。下面我们先从一个简单特例入手,对这个问题进行分析和解决。
二.简单情况
有个经典的过半元素查找问题,在编程之美里面也有分析(寻找发帖水王)。就是...
分类:
其他好文 时间:
2015-05-21 22:43:27
阅读次数:
215
在接下来的几个博客里,我将讲述基础的数据流算法,包括采样问题,频繁元素问题,独立元素个数问题,k阶矩问题。后续可能会添加高阶内容。...
分类:
编程语言 时间:
2015-05-21 09:15:09
阅读次数:
179