你是对的。 在QuickSelect之后的下一个候选人中,十进制占优:n / 10,2 * n / 10..9 * n / 10,因此只检查n / 10索引是不够的 请注意,显性占用在有序数组中长期运行,并且当然至少有一个具有提及索引的元素属于该运行。 例如k = 3,N = 11。让元素b占据至少1/3的数组。在这种情况下,排序数组可能看起来像 b b b b * * * * * * *
* b b b b * * * * * *
* * b b b b * * * * *
* * * b b b b * * * *
* * * * b b b b * * *
* * * * * b b b b * *
* * * * * b b b b * *
* * * * * * b b b b *
* * * * * * * b b b b
^ ^ //positions for quickselect
... 展开详请