\(@^0^@)/
[TDL] 07/16 Today's-Done-List 본문
728x90
- 제로베이스 알고리즘 정렬
퀵 정렬 (Quick Sort)
- 특정한 값을 기준으로 큰 숫자와 작은 숫자를 분할하여 정렬하는 알고리즘
- 평균 시간 복잡도 : O(n log n)
- 분할 -> 부분 배열 정렬 -> 전체 정렬
위의 알고리즘 동작 방식은 가장 이해하기 쉽고 심플한 Qsort이다.
function swap(arr, idx1, idx2) {
let temp = arr[idx1];
arr[idx1] = arr[idx2];
arr[idx2] = temp;
}
function quickSort(arr, s = 0, e = arr.length - 1) {
let start = s;
let pivot = arr[e];
for (let i = s; i <= e; i++) {
if (pivot > arr[i]) {
swap(arr, start, i);
start++;
}
}
swap(arr, start, e);
if (start - 1 > s) quickSort(arr, s, start - 1);
if (start + 1 < e) quickSort(arr, start + 1, e);
return arr;
}
quickSort([3, 6, 8, 1, 12, 5]); // [1, 3, 5, 6, 8, 12]
- web tech camp 백엔드 기초 강의
라이브 강의보다 편집된 강의를 듣거나 다른 강의를 듣는 것이 날 것 같다 생각해서 담주부터는 아마 결제해놓은 노드 버드 강의를 들을 것 같다.
728x90
'TDL' 카테고리의 다른 글
[TDL] 07/18 Today's-Done-List (0) | 2022.07.18 |
---|---|
[TDL] 07/17 Today's-Done-List (0) | 2022.07.17 |
[TDL] 07/15 Today's-Done-List (0) | 2022.07.15 |
[TDL] 07/13 Today's-Done-List (0) | 2022.07.13 |
[TDL] 07/12 Today's-Done-List (0) | 2022.07.13 |