삽입 정렬(Insert sort)삽입 정렬은 마치 카드 게임에서 카드를 정렬하는 방식과 유사합니다.손에 들고 있는 카드들을 순서대로 정렬된 새로운 묶음에 하나씩 올바른 위치에 삽입하는 것처럼 작동합니다.배열의 두 번째 요소부터 시작하여, 그 앞의 요소들과 비교하면서 자신의 위치를 찾아 삽입하는 방식입니다.시간복잡도는 평균적으로 O(n²)이지만, 거의 정렬된 배열에서는 O(n)에 가까운 성능을 보입니다. // 삽입정렬function insertSort(array) { for (let i = 1; i = 0 && array[j] > currentValue; j--) { array[j + 1] = array[j]; } array[j + 1] = currentValue;..
알고리즘
선택정렬(Selection sort)이란?버블정렬은 맨 앞부터 하나씩 올라가며 위치를 찾아가는 방법이라면 선택정렬은 맨 아래부터 값을 쌓아가는 정렬 방식을 뜻합니다. 예를 들어, 배열을 한 바뀌씩 돌면서 가장 값이 낮은 값을 찾아내 0번 인덱스에 배치하고, 남은 정렬을 다시 순회하면서 그중에서 가장 값이 낮은 원소를 그 다음 인덱스인 1번에 배치하는 것을 반복합니다. 즉 계속해서 최솟값을 찾아내 스왑해 주는 것 입니다. 작동 방식은 다음과 같습니다:주어진 배열에서 최솟값을 찾습니다.그 최솟값을 맨 앞에 위치한 값과 교환합니다.맨 처음 위치를 제외한 나머지 배열을 같은 방법으로 교체합니다.하나의 원소만 남을 때까지 위의 과정을 반복합니다.이를 코드로 구현하면 선택정렬은 다음과 같습니다.function s..

버블정렬(Bubble Sort) 이란?버블 정렬은 정렬 알고리즘 중 가장 기본적인 정렬 알고리즘으로 서로 인접한 두 원소를 비교하여 정렬하는 방식입니다. 큰 값이 마치 거품처럼 한 칸씩 오른쪽으로 이동하면서 정렬되어 버블 정렬이라고 불립니다. 버블정렬은 구현이 매우 단순하고 이해하기 쉽고, 정렬하는 과정이 시각적으로 이해하기 쉽습니다.그러나 시간 복잡도가 O(n²)로 효율성이 떨어지며, 배열의 크기가 커질수록 성능이 급격히 저하되는 단점을 가지고 있습니다.function bubbleSort(array) { for (let i = 0; i array[j]) { const temp = array[j-1] array[j-1] = array[j] ..