선택 정렬(selection sort)
수정하기
문서 생성 2021-05-05 22:33:53 최근 수정 2021-10-02 10:23:39
알고리즘의 순서
- 주어진 리스트 중 최소값을 찾기
- 찾은 최소값을 맨 앞에 위치한 값과 바꾼다.
- 맨 처음 위치를 제외한 나머지 리스트를 같은 방법으로 바꾼다.
복잡도
n(n-1)/2
번 해야 하는 계산 복잡도가 O(n²)
인 알고리즘
예제
[13, 5, 11, 7, 23, 15]
를 오름차순으로 정렬하기
JavaScript
function solution(arr) {for(let i=0; i < arr.length-1; i++) {let min_idx = i;for(let j=i+1; j < arr.length; j++) {if(arr[j] < arr[min_idx]) {min_idx = j;}}[arr[i], arr[min_idx]] = [arr[min_idx], arr[i]]}return arr;}let arr = [13, 5, 11, 7, 23, 15];console.log(solution(arr));