Insertion Sort (삽입 정렬)
알고리즘 복습하기 정렬편 2탄2025-01-25
#Algorithm#Sort
알고리즘 포스팅 하며 복습하기 (정렬편) 📊
삽입 정렬이란?
2번째 요소부터 이미 정렬된 배열 부분과 비교하여 위치를 찾아 삽입하여 정렬하는 알고리즘입니다.

코드
const array = [1, 4, 2, 3, 5];
const insertionSort = (arr) => {
// 2번째 요소부터 시작
for (let i = 1; i < arr.length; i++) {
// 이미 정렬된 배열 부분과 비교
for (let j = i; j > 0; j--) {
// 현재 요소가 이전 요소보다 작으면 교환
if (arr[j] < arr[j - 1]) {
let temp = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = temp;
} else {
// 현재 요소가 이전 요소보다 크면 정렬 완료
break;
}
}
}
return arr;
};
console.log(insertionSort(array)); // [1, 2, 3, 4, 5]
시간 복잡도
- 삽입 정렬은 이미 정렬된 배열에 대해서는 매우 빠르게 동작합니다.
- 최악의 경우 배열의 끝까지 탐색해야 하기에 시간 복잡도는 **O(n^2)**입니다.
- Big O 표기법은 최악의 경우를 기준으로 표기