")。选择是一些更复杂问题的子问题，如最近邻和最短路径问题。 许多选择算法是由排序算法推广而来，反之，一些排序算法可由反复应用选择算法推导出来。最简单的选择算法是通过遍历列表找到最小（或最大）的元素，在此过程中跟踪当前的最小（或最大）值。这种算法与选择排序有关。相反地，最困难的选择算法是寻找中位数，这必然需要"n"/2的空间。 事实上，一个专门的中位选择算法可用来构造一个一般选择算法，例如。已知最好的选择算法是快速选择（quickselect），它与快速排序有关。和快速排序类似，它有渐进最佳的复杂度，但