본문 바로가기
it/javascript

선택 정렬 알고리즘(selection sort Algorithm) - javascript

by 기공준 2021. 3. 23.
반응형

안녕하세요 기공준입니다.

이번 글은 선택 정렬 알고리즘에 대한 글입니다.

선택 정렬 알고리즘은 정렬 알고리즘 중에 하나이고 알고리즘이 대단히 단순하기 때문에 메모리가 제한적인 경우에

사용하면 성능상의 이점이 있다고 합니다. 

시간 복잡도는 O(n²)입니다.

선택 정렬을 하는 방법은 아주 간단합니다.

 

1. 주어진 리스트 중에 최소값을 찾는다.

2. 값을 앞에 위치한 값과 교체한다.

3. 맨처음 위치를 나머지 리스트를 같은 방법으로 진행한다.

 

예제

[5,2,22,4]

[2,5,22,4]

[2,4,22,5]

[2,4,5,22]

 

예제 코드 - javscript

const selectionSort = (array) => {
    let minIdx;
    let tempValue;
    
    for(let i=0;i<array.length;i++){
        minIdx = i;
        
        for(let j=i+1;j<array.length;j++){
            if(array[minIdx]>array[j]){
                minIdx=j;
            }
        }            
            tempValue = array[i];
            array[i] = array[minIdx];
            array[minIdx] = tempValue;
    }    
    console.log(array);
}

let arr = [5,2,22,3,12,10,8,33,1,21,11];


selectionSort(arr);

 

이상 선택 정렬에 대해서 간단하게 적어봤고 예제와 예제 코드를 적어봤습니다.

도움이 되셨으면 좋겠네요

반응형

댓글