形式陈述
选择算法在未排序数组中找第
直觉
分区后,枢轴的最终排名已知。目标在左就完全忽略右边,在右就忽略左边,因此每层只保留一个子问题。
例子与边界
找中位数时,随机 Quickselect 在实践中常比保证线性的算法常数更小。若每次总选最小元素为枢轴,会退化为
推论与应用
选择算法用于中位数、top-k 阈值、线性时间分位数和鲁棒统计,并作为快速排序分区与确定性枢轴设计的基础。
参考资料
- 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。