Этот вопрос проверяет знание базовых алгоритмов сортировки, их временной и пространственной сложности, а также умение выбирать подходящий алгоритм в зависимости от данных.
Сортировка — это процесс упорядочивания элементов в заданном порядке (обычно по возрастанию или убыванию). Знание алгоритмов сортировки важно для оптимизации производительности программ, особенно при работе с большими объемами данных.
function quickSort(arr) {
if (arr.length <= 1) return arr;
const pivot = arr[0];
const left = [];
const right = [];
for (let i = 1; i < arr.length; i++) {
if (arr[i] < pivot) left.push(arr[i]);
else right.push(arr[i]);
}
return [...quickSort(left), pivot, ...quickSort(right)];
}
console.log(quickSort([3, 6, 8, 10, 1, 2, 1])); // [1, 1, 2, 3, 6, 8, 10]Выбор алгоритма сортировки зависит от контекста: для небольших массивов подойдут простые алгоритмы (вставками), для больших — быстрая или слиянием. Понимание их сложности помогает писать эффективный код.