Algorithm 每秒钟:测量:6个绘图,更新哪些绘图?

Algorithm 每秒钟:测量:6个绘图,更新哪些绘图?,algorithm,Algorithm,系统应每秒接受一次测量。系统应显示6个实时绘图: 最后时刻 最后一小时 最后一天 上周 上个月 去年 例如,这里有一个漂亮的测量年图,显示了一年中每个月的平均温度(假设该图由12个数据点组成,用直线连接)。我应该何时以及如何更新它?最坏的情况是在每次测量时重新计算每个月的平均温度(每秒一次),然后重新绘制图 我们用循环缓冲区解决了最后一分钟的图——新的测量值被简单地推到了deque eveyr秒 其他的情节呢?我们如何最大限度地减少每次重新计算 解决方案 保持所有向量的平均值。当新事件发

系统应每秒接受一次测量。系统应显示6个实时绘图:

  • 最后时刻
  • 最后一小时
  • 最后一天
  • 上周
  • 上个月
  • 去年
例如,这里有一个漂亮的测量年图,显示了一年中每个月的平均温度(假设该图由12个数据点组成,用直线连接)。我应该何时以及如何更新它?最坏的情况是在每次测量时重新计算每个月的平均温度(每秒一次),然后重新绘制图

我们用循环缓冲区解决了最后一分钟的图——新的测量值被简单地推到了deque eveyr秒

其他的情节呢?我们如何最大限度地减少每次重新计算


解决方案
保持所有向量的平均值。当新事件发生时,检查要更新的向量(时间%vector\u sample\u period)。对于所选的向量,请询问前一个向量的平均值,并将其放入自己的循环缓冲区。

只在需要时进行计算,从而最小化重新计算。例如,当您重新开始循环缓冲时。

什么计算?这里没有足够的信息来回答任何问题。请发布您当前拥有的代码和一些数据,以便我们了解所需内容。这是一个面试问题吗?@Mike W,这是一个爱好项目。曲线图由最后一分钟的平均值组成。我如何避免重新计算过去一年中每秒钟所有测量值的平均值?我想我理解你的问题,并有一个简单而优雅的解决方案。然而,要重新打开这个问题,你仍然需要重新表述你的需要,让别人更清楚。尝试添加一个带有数字的简单示例。@Slanec,请随意改进我的问题。我似乎无法从不同的角度来看待它。