大数据算法 chap-3 亚线性算法例析

3.1 数据流中频繁元素(空间亚线性)

大数据的数据流模型

  • 数据只能顺序扫描1次或几次
  • 能够使用的内存是有限的
  • 希望通过维护一个内存结果(数据概要)来给出相关性质的一个有效估计
    维护中间结果
  • 数据流模型适用于大数据
    顺序扫描数据仅一次(时间保障)
    内存亚线性(空间保障)
  • 来自某个域中的元素序列
    <x1, x2, x3, x4, … >
  • 有限的内存:
    内存<< 数据的规模
    通常 O(logkn) 或 O(nα) for α<1
  • 快速处理每个元素

从数据流中计算什么?

  • 容易计算的函数: min, max, sum, …
    使用单个寄存器 s, 直接更新
  • 频繁元素:元素出现多次,希望找到出现最频繁的元素

Zipf原则: 典型的频率分布是高度偏斜的,只有少数频繁元素.
最多10%的元素占元素总个数的 90%.

Misra Gries(MG)算法

处理元素x
If 已经为x分配计数器,增加之
Else If 没有相应计数器,但计数器个数少于k,为x分配计数器,并设为1.
Else, 所有计数器减1.删除值为0的计数器.

一个计数器x 减少了几次?
⟺ 我们有几个减少计数器的步骤?
 整个结构的权重(计数器的和)记作m′
 整个数据流的权重(全部元素的数量)是m
 每一个计数器降低的步骤减少k个计数,但是并未计入输入元素的此次出现,即k+1 次未计入的元素出现.
⇒ 最多有

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值