분류 전체보기207 (Javascript) mergeSort mergeSort 전체 데이터를 하나의 단위로 분할한 후 다시 합치면서 정렬하는 방식 function merge(leftArr, rightArr) { const result = []; let leftIdx = 0, rightIdx = 0; while (leftIdx < leftArr.length && rightIdx < rightArr.length) { if (leftArr[leftIdx] < rightArr[rightIdx]) { result.push(leftArr[leftIdx++]); } else { result.push(rightArr[rightIdx++]); } } return [ ...result, ...leftArr.slice(leftIdx), ...rightArr.slice(rightIdx.. 2023. 1. 16. (Javascript) selectionSort selectionSort(선택정렬) function swap(arr, idx1, idx2) { const temp = arr[idx1]; arr[idx1] = arr[idx2]; arr[idx2] = temp; } function selectSort(arr) { const tempArr = [...arr]; for (let i = 0; i tempArr[j]) minIdx = j; } swap(tempArr, minIdx, i); } return tempArr; } 선택정렬은 배열의 최솟값을 찾아서 그걸.. 2023. 1. 16. (Javascript) InsertSort InsertSort function swap(arr, idx1, idx2) { const temp = arr[idx1]; arr[idx1] = arr[idx2]; arr[idx2] = temp; } function insertSort(arr) { const tempArr = [...arr]; for (let i = 1; i -1; j--) { if (tempArr[j + 1] < tempArr[j]) swap(tempArr, j, j + 1); } } return tempArr; } 왼쪽에서 오른쪽으로 가면서 각 요소들을 왼쪽 요소들과 비교하여 알맞은 자리에 삽입하는 정렬 방식 두 번째 요소부터 왼쪽 요소와 비교하면서.. 2023. 1. 16. (Javascript) bubbleSort bubbleSort(버블정렬) function swap(arr, idx1, idx2) { const temp = arr[idx1]; arr[idx1] = arr[idx2]; arr[idx2] = temp; } function bubbleSort(arr) { const tempArr = [...arr]; for (let i = 0; i tempArr[j + 1]) swap(tempArr, j, j + 1); } } return tempArr; } const tempArr = […arr] 원본 배열을 수정하지 않기 위해 스프레드를 통해 새로운 임시 배.. 2023. 1. 16. 이전 1 ··· 34 35 36 37 38 39 40 ··· 52 다음