我知道可以在 O(n) 中计算数字列表的平均值。但是中位数呢?有没有比排序(O(n log n))和查找中间元素(或者如果列表中有偶数个项目则两个中间元素的平均值)更好的算法?
是的。您可以在 O(n) 时间内(确定性地)完成此操作。 http://www.ics.uci.edu/~eppstein/161/960130.html