[Sort] Selection Sort
2020. 9. 6. 22:56ㆍAlgorithm
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 |