minstudio

선택 정렬 (Selection Sort)

선택 정렬은 제자리 정렬 알고리즘의 하나로, 해당 순서에 넣을 위치는 이미 정해져 있고, 그 위치에 어떤 원소를 넣을지 선택하는 알고리즘입니다.

5 3 1 4 2 최소값 찾음 첫 위치와 교환

시간 복잡도는 O(n²)이며 불안정 정렬(Unstable Sort)입니다.


function selectionSort(arr) {
  const n = arr.length;
  console.log("초기 배열:", arr);
  
  for (let i = 0; i < n - 1; i++) {
    let minIdx = i;
    for (let j = i + 1; j < n; j++) {
      if (arr[j] < arr[minIdx]) {
        minIdx = j;
      }
    }
    // Swap
    let temp = arr[i];
    arr[i] = arr[minIdx];
    arr[minIdx] = temp;
  }
  return arr;
}

const arr = [5, 3, 1, 4, 2];
console.log("정렬 결과:", selectionSort(arr));
선택 정렬 (Selection Sort) | Minstudio