【发布时间】:2017-01-20 12:13:06
【问题描述】:
我想知道是否存在一种算法来找到奇数长度数组的中位数。显然,可以对数组进行排序并取中间值,但理想情况下,只对中间值感兴趣可以在算法的时间复杂度方面获得收益。
如果不存在这样的算法,任何关于如何开发这样的算法的建议都会很棒。
谢谢
【问题讨论】:
-
我没有看到任何进行某种排序的方法,这意味着您可能正在查看
O(NlgN)以寻求解决方案。你有什么不想排序的原因吗? -
查看 K 选择算法。示例:en.wikipedia.org/wiki/Quickselect