在计算机科学中，选择算法是一种在列表或数组中找到第k个最小数字的算法；这样的数字被称为第k个"顺序统计量"。该算法寻找的对象主要有三种：最小、最大和中位数。已知存在O("n")（最坏情况下为线性时间）的选择算法，还有对于结构化数据可能有次线性的表现的算法；在极端的情况下，对于已排序数据是O("1")。选择是一些更复杂问题的子问题，如最近邻和最短路径问题。 许多选择算法是由排序算法推广而来，反之，一些排序算法可由反复应用选择算法推导出来。最简单的选择算法是通过遍历列表找到最小（或最大）的元素，在此过程中跟