[Sort] Selection Sort

2020. 9. 6. 22:56Algorithm

Selection Sort


배열에서 최소값을 찾아 가장 앞쪽 인덱스로 보내며 정렬한다.
최소값과 맨 앞쪽 요소의 위치를 교환한다,
시간복잡도는 O(n^2)

 

구현한 코드

function selection(array) {
    // array를 돌며 i ~ array.length-1 까지의 요소 중 최소값을 찾기
    // 찾았다면 현재 순회중인 array의 가장 앞(i) 에 넣기
    // 이미 가장 앞에 있다면 다음 반복으로 넘어간다
    // 모두 정렬될 때까지 쭉 반복
    
    for(let i = 0; i < array.length; i++) {
        let min = Math.min(...array.slice(i));
        
        if(min === array[i]) {
            continue;
        } else {
            let index = array.indexOf(min);
            let temp = array[i];
            array[i] = min;
            array[index] = temp;
        }
    }
    return array;
}

 

 

 

 

 

'Algorithm' 카테고리의 다른 글

[Sort] Merge Sort  (0) 2020.09.07
[Sort] Quick Sort  (0) 2020.09.07
[Sort] Bubble Sort  (0) 2020.09.06
[Toy] 유클리드 호제법  (0) 2020.06.11
[Toy] nthFibonacci  (0) 2020.05.18