计算运行平均值

时间:2017-06-24 05:11:47

标签: algorithm data-structures

我有一个包含品牌和消费数据的数据流;我需要按需提供实时平均消费数据。
这是一个高容量,低延迟的标记 典型的最后5个滴答可能是:

P&G 345.21
J&J 124.9
P&G 127.9
WAL 789
KMR 78.5

可能的选择:
填充数组/列表中的数据 - 按需求汇总和返回平均值(考虑到数量不可行)
在tick上填充带有键和聚合数据的地图。使用kep和tick count保持一个单独的地图。根据需要计算地图1和2的平均值并返回平均值。
是否有更好的数据结构/算法来实现这一目标?

1 个答案:

答案 0 :(得分:0)

对于您的问题,最好维护另一个包含{brand: (num, mean)}字典的地图,然后在获得新消费x时,您可以使用

更新字典
new_mean = mean + (x-mean)/(n+1)
n = n+1