实时排序数组

时间:2011-09-14 03:17:36

标签: algorithm sorting language-agnostic mean

这是一个面试问题。

“每股收到1000个出价。想要存储前50个出价并计算均值。怎么样?”

1 个答案:

答案 0 :(得分:12)

你不会“实时排序”。到目前为止,您可能会使用前50个出价的heap(优先级队列)数据结构。如果下一个出价高于最小值,那么您将执行删除最小值,然后插入新出价。优先级队列允许您快速查找最小值,删除它,并添加新值。

您可以通过添加新出价和离开出价之间差异的1/50来维持平均值(仅当新出价高于第50个最高出价时)。