선택 정렬은 가장 작은 값을 찾아서 배열의 맨 앞으로 보내며, 그 다음 작은 값을 찾아나가는 방식으로 정렬하는 알고리즘
입니다.
배열 중** **최소값**
을 찾습니다.위 과정을 반복하면서 정렬을 수행합니다. 이를 선택 정렬이라고 합니다. 최솟값을 구하기 위해 배열에 전체 요소를 검색하기 때문에 성능적으로 떨어집니다.
선택 정렬의 시간 복잡도는 O($n^2$)으로, 정렬하고자 하는 배열의 크기가 커지면 속도가 급격하게 떨어지는 단점이 있습니다.
function selectionSort(arr) {
for (let i = 0; i < arr.length - 1; i++) {
let minIndex = i;
for (let j = i + 1; j < arr.length; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
if (minIndex !== i) {
let temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
return arr;
}
const arr = [5, 2, 4, 6, 1, 3];
console.log(selectionSort(arr)); // [1, 2, 3, 4, 5, 6]