728x90
반응형
삽입 정렬: 현재 요소를 그보다 앞쪽의 정렬된 부분과 비교하여 적절한 위치에 삽입하여 정렬을 완성하는 알고리즘
코드 예시
function solution(arr) {
let answer = arr;
for (let i = 0; i < arr.length; i++) {
let tmp = arr[i], j;
for (j = i - 1; j >= 0; j--) {
if (arr[j] > tmp) {
arr[j + 1] = arr[j];
} else {
break;
}
}
arr[j + 1] = tmp;
}
return answer;
}
let arr = [11, 7, 5, 6, 10, 9];
console.log(solution(arr));
개념 문제
다음 자료에 대하여 삽입 정렬을 사용하여 오름차순으로 정렬한 경우 Pass 2의 결과는?
64, 28, 33, 76, 55, 12, 43 |
Pass1:
28, 64, 33, 76, 55, 12, 43
Pass2:
28, 33, 64, 76, 55, 12, 43
반응형
728x90
반응형
'개발 > 알고리즘 개념 정리' 카테고리의 다른 글
[알고리즘] 이분 검색 (0) | 2025.01.22 |
---|---|
[알고리즘] 버블 정렬 (0) | 2025.01.22 |
[알고리즘] 선택 정렬 (0) | 2025.01.22 |
[알고리즘] 스택 / 큐 (0) | 2025.01.22 |