Implement QuickSort (O(n log n) avg), MergeSort (O(n log n) guaranteed), and understand when to use each. QuickSort is in-place; MergeSort is stable.
function quickSort(arr, low = 0, high = arr.length - 1) {
if (low < high) {
const pi = partition(arr, low, high);
quickSort(arr, low, pi - 1);
quickSort(arr, pi + 1, high);
}
// ...Implement QuickSort (O(n log n) avg), MergeSort (O(n log n) guaranteed), and understand when to use each. QuickSort is in-place; MergeSort is stable.
function quickSort(arr, low = 0, high = arr.length - 1) {
if (low < high) {
const pi = partition(arr, low, high);
quickSort(arr, low, pi - 1);
quickSort(arr, pi + 1, high);
}
// ...