개발/알고리즘 개념 정리

[알고리즘] 삽입 정렬

hr0513 2025. 1. 22. 12:03
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