- 选择排序(Selection Sort)是一种简单直观的排序算法。它的基本思想是:每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放到序列的起始位置,直到全部待排序的数据元素排完。
- 选择排序的具体做法:
- 在未排序序列中找到最小元素,存放到排序序列的起始位置。
- 从剩余未排序元素中继续寻找最小元素,存放到已排序序列的末尾。
- 重复第二步,直到所有元素均排序完毕。
- 选择排序的时间复杂度为O(n^2),
- 其中n为待排序数据元素的个数。最坏情况下,需要比较n次,每次需要O(n)的时间来查找最小元素,因此总时间为O(n^2)。
function selectionSort(arr) {
const n = arr.length;
for (let i = 0; i < n - 1; i++) {
let minIndex = i;
for (let j = i + 1; j < n; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
if (minIndex !== i) {
[arr[i], arr[minIndex]] = [arr[minIndex