排序算法-(2)选择排序
这篇主要介绍下选择排序算法的实现
选择排序
算法思想简单:在要排序的一组数中,选出最小的一个数与第一个位置的数交换;然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。
最差、最优、平均时间复杂度都为O(n^2)。辅助空间为O(1)。稳定性:不稳定。
算法实现
function selectSort(arr) { for (let i = 0; i < arr.length - 1; i++) { let minIndex = i; for (let j = i + 1; j < arr.length; j++) { minIndex = arr[j] < arr[minIndex] ? j : minIndex; } [arr[i], arr[minIndex]] = [arr[minIndex], arr[i]]; } }