“同一比较决策树视角也能区分排序与选择算法:排序必须恢复全部相对次序,所以有 $\Omega(n\log n)$ 下界;只找第 $k$ 小元素不必区分所有 $n!$ 种排列,可在比较模型中做到…”
形式陈述 ​
选择算法在未排序数组中找第
直觉
选择算法只需找到第
例子与边界
找中位数时,随机 Quickselect 在实践中常比保证线性的算法常数更小。若每次总选最小元素为枢轴,会退化为
数组
重复元素时最好三路分区为小于、等于、大于枢轴,目标落在等值段即可停止。朴素总取极端枢轴会退化为二次时间;median-of-medians 的线性保证依赖分组和递归规模分析,不是“先找精确中位数”。
推论与应用
数组、全序与分治构成静态选择框架。Quickselect 的期望
一次选择即可确定 top-
若元素会动态插删,顺序统计树用
参考资料
- Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein, Introduction to Algorithms, 4th ed., MIT Press, 2022,Parts I–VI。
- Donald E. Knuth, The Art of Computer Programming, Vol. 3: Sorting and Searching, 2nd ed., Addison-Wesley, 1998,Chs. 5–6。