题。一个简单但是有效率的选择算法与快速排序的作法相当类似，除了对两个子数列都作递回唿叫外，它仅仅针对包含想要的元素之子数列作单一的结尾递回（tail recursive）唿叫。这个小改变降低了平均复杂度到线性或是formula_69时间，且让它成为一个原地算法。这个算法的一种变化版本，可以让最坏情况下降为formula_12（参考选择算法来得到更多资讯）。相反地，一旦我们知道一个最坏情况的formula_12选择算法是可以利用的，我们在快速排序的每一步可以用它来找到理想的基准（中位数），得到一种最坏情况