快速选择Quickselect
分区后只处理包含第 k 小元素的一侧。
- 核心约束
- 目标秩始终位于剩余候选分区。
- 适用问题
- 分位数、中位数与无需全排序的 Top-K 边界。
- 边界与取舍
- 枢轴和最坏情况保护需要单独设计。
时间与空间#
n 为元素数;随机化分区选择第 k 小元素。
- 时间复杂度
- 期望 ;最坏
- 辅助空间
- 原地迭代实现
每次只继续进入包含目标秩的一侧。选择结果不代表两侧已经完整排序。Median-of-medians 等策略可给线性最坏界,但不是普通随机 quickselect 的保证。
分区后只处理包含第 k 小元素的一侧。
n 为元素数;随机化分区选择第 k 小元素。
每次只继续进入包含目标秩的一侧。选择结果不代表两侧已经完整排序。Median-of-medians 等策略可给线性最坏界,但不是普通随机 quickselect 的保证。