中位数的中位数不是真正的中位数。正确?

时间:2014-04-07 01:26:40

标签: algorithm time-complexity partition median-of-medians

就我个人而言,我认为中位数的中位数不是真正的中位数。正确吗?
因此,如果上述陈述为真,那么为什么使用中位数的中位数来划分数组以找到Kth min elem的时间复杂度,最坏的情况是O(n)? “n”是elems的数量。

1 个答案:

答案 0 :(得分:2)

中位数的中位数确实只是近似值,不一定是实际中位数。

它用作优化,用于计算Quicksort或Quickselect等算法中数组分区的数据透视,以避免O(n^2)的最坏情况复杂性。

Wikipedia article关于它,说:

  

虽然这种方法很好地优化,但通常情况下   在实践中表现优于通过选择随机枢轴而已   选择的平均线性时间和平均线性时间   排序,并避免计算枢轴的开销。