[JS알고] 선택정렬 구현

Dev.Jo·2021년 4월 2일
0
let arr = [6, 4, 3, 1, 2, 8, 7, 0];

for (let i = 0; i < arr.length - 1; i++) {

    let minIndex = i + 1;
    for (let j = i + 1; j < arr.length; j++) {
        if (arr[j] < arr[minIndex]) {
            minIndex = j;
        }
    }
    if (arr[minIndex] < arr[i]) {
        let temp = arr[i];
        arr[i] = arr[minIndex];
        arr[minIndex] = temp;
    }
}
console.log(arr)

시간복잡도

  • Worst O(N^2)
  • Best O(N^2)
  • 평균 O(N^2)

포인트

  • 0부터 length-2까지의 i를 기준으로 잡는다
  • j = i+1 부터 시작해 최솟값을 찾는다
  • 최솟값과 i번째 값을 SWAP한다
profile
소프트웨어 엔지니어, 프론트엔드 개발자

0개의 댓글