Сортировка пузырьком
Алгоритмы сортировкиОписание
Сортировка пузырьком — это простой алгоритм сортировки, который многократно проходит по массиву, сравнивает соседние элементы и меняет их местами, если они стоят в неправильном порядке. Процесс повторяется, пока массив не будет полностью отсортирован.
Зачем это нужно
Хотя сортировка пузырьком редко используется в продакшене из-за низкой эффективности, она является отличным учебным алгоритмом для понимания принципов сортировки, сравнения элементов и обмена значений. Это база для понимания более сложных алгоритмов сортировки.
Визуализация
64
34
25
12
22
11
90
Начальное состояние: неотсортированный массив
Неотсортировано
Сравнение
Обмен
Отсортировано
Шаг 1 из 50
Скорость:
Сложность
Лучший случайO(n)
Средний случайO(n²)
Худший случайO(n²)
Сложность по памятиO(1)
Пример кода
function bubbleSort(arr: number[]): void {const n = arr.length;for (let i = 0; i < n - 1; i++) {let swapped = false;// Last i elements are already in placefor (let j = 0; j < n - i - 1; j++) {if (arr[j] > arr[j + 1]) {// Swap adjacent elements[arr[j], arr[j + 1]] = [arr[j + 1], arr[j]];swapped = true;}}// If no swaps occurred, array is sortedif (!swapped) break;}}// Usage exampleconst unsorted = [64, 34, 25, 12, 22, 11, 90];const sorted = [...unsorted]; // Copy to avoid mutating originalbubbleSort(sorted);console.log(sorted); // [11, 12, 22, 25, 34, 64, 90]