Вопрос проверяет понимание разницы между алгоритмами сортировки по эффективности и принципу работы.
Ключевая разница между быстрой сортировкой (quicksort) и сортировкой пузырьком (bubble sort) заключается в их временной сложности и подходе к обработке данных. Быстрая сортировка относится к алгоритмам класса "разделяй и властвуй" и в среднем работает за O(n log n), тогда как пузырьковая сортировка — это простой алгоритм с квадратичной сложностью O(n²).
Быстрая сортировка выбирает опорный элемент (pivot), разделяет массив на элементы меньше и больше опорного, а затем рекурсивно сортирует подмассивы. Сортировка пузырьком многократно проходит по массиву, сравнивая соседние элементы и меняя их местами, если они стоят в неправильном порядке, пока массив не будет отсортирован.
// Быстрая сортировка (JavaScript)
function quickSort(arr) {
if (arr.length <= 1) return arr;
const pivot = arr[0];
const left = arr.slice(1).filter(x => x < pivot);
const right = arr.slice(1).filter(x => x >= pivot);
return [...quickSort(left), pivot, ...quickSort(right)];
}
// Сортировка пузырьком
function bubbleSort(arr) {
for (let i = 0; i < arr.length - 1; i++) {
for (let j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
[arr[j], arr[j + 1]] = [arr[j + 1], arr[j]];
}
}
}
return arr;
}Быстрая сортировка широко используется в реальных приложениях благодаря своей эффективности, особенно при работе с большими объёмами данных. Сортировка пузырьком применяется редко, в основном в учебных целях или для очень маленьких массивов, где простота реализации важнее производительности.
Вывод: Быстрая сортировка предпочтительна для большинства задач сортировки из-за высокой скорости, в то время как пузырьковая сортировка полезна только для обучения или крайне малых наборов данных.