이런저런 IT 이야기
퀵 정렬 알고리즘(Quick Sort Algorithm) 본문
반응형
function quickSort(arr) {
if (arr.length <= 1) {
return arr;
}
const pivot = arr[arr.length - 1];
const left = [];
const right = [];
for (let i = 0; i < arr.length - 1; i++) {
if (arr[i] < pivot) {
left.push(arr[i]);
} else {
right.push(arr[i]);
}
}
return [...quickSort(left), pivot, ...quickSort(right)];
}
// Example usage
const unsortedArray = [5, 8, 2, 10, 1, 6, 9, 3, 7, 4];
const sortedArray = quickSort(unsortedArray);
console.log(sortedArray);
위의 예제에서는 quickSort 함수를 사용하여 주어진 배열 arr을 퀵 정렬하여 정렬된 배열을 반환합니다. 퀵 정렬은 분할 정복(divide and conquer) 방법을 사용하여 배열을 작은 부분 배열로 분할하고, 각 부분 배열을 재귀적으로 정렬하며 합쳐나가는 방식으로 동작합니다.
이 예제를 통해 퀵 정렬 알고리즘의 동작 방식과 구현 방법을 이해할 수 있습니다. 퀵 정렬은 일반적으로 평균적으로 빠른 속도를 가지는 정렬 알고리즘으로 알려져 있습니다.
반응형
'Algorithm' 카테고리의 다른 글
역추적 알고리즘(Backtracking Algorithm) (0) | 2023.05.23 |
---|---|
메모이제이션 테이블이란? (0) | 2023.05.23 |
이진 탐색 알고리즘 #1 (Binary Search Algorithm) (0) | 2023.05.23 |
외판원 순회 문제 (Traveling Salesman Problem, TSP) (0) | 2023.05.23 |
Programming Challenges #31 (0) | 2023.05.23 |