就个人而言,我认为中位数的中位数不是真正的中位数。正确?
那么,如果上述陈述是正确的,为什么使用中位数作为枢轴来划分数组以找到第 K 分钟 elem 的时间复杂度最坏情况是 O(n)?"n"是elems的位数。
中位数的中位数确实只是一个近似值,不一定是实际的中位数。
它被用作优化,在快速排序或快速选择等算法中计算数组分区的透视,从而避免O(n^2)
的最坏情况复杂性。
维基百科关于它的文章,说:
尽管这种方法优化得很好,但通常 在实践中通过选择随机枢轴而表现优异,这已经 选择的平均线性时间和平均线性时间 排序,并避免计算透视的开销。