Основное различие: пузырьковая сортировка - это самая простая форма метода алгоритма сортировки, который включает в себя замену двух смежных элементов, чтобы расположить их в нужном месте, тогда как быстрая сортировка работает на методе алгоритма разделения и выигрыша, в которой центральный элемент становится центральной точкой деление вокруг заданного массива.
Хотя известно, что обе технологии сортировки занимают достойное место в мире компьютерных наук, пузырьковая сортировка является самой простой формой алгоритма сортировки, которая включает в себя обмен двух смежных элементов для их размещения в нужном месте, тогда как быстрая сортировка работает на разделение и Алгоритм выигрыша, в котором основной элемент становится центром деления вокруг данного массива.
Чтобы немного глубже понять эти две концепции, давайте разберем различия в точной сегментации, чтобы сделать ее более понятной.
1. Подход. Чтобы иметь четкое представление, давайте сначала проведем дифференциацию на основе их алгоритмического подхода.
Bubble Sort: Предположим, есть 5 элементов 9, 5, 3, 6, 1, и нам нужно отсортировать их в порядке возрастания.
- 9 5 3 6 1 // первый элемент проверяет соседний элемент и меняет местами больше (здесь 9> 5)
- 5 9 3 6 1 // (9> 3)
- 5 3 9 6 1 // (9> 6)
- 5 3 6 9 1 // (9> 1)
- 5 3 6 1 9 // 9 достиг конечного пункта назначения
Теперь начинается следующая итерация:
- 5 3 6 1 9 // (5> 3)
- 3 5 6 1 9 // (5 <6) - без обмена
- 3 5 6 1 9 // (6> 1)
- 3 5 1 6 9 // (6 <9) - без обмена
- 3 5 1 6 9 // 6 достиг конечного пункта назначения
--- Еще несколько итераций ---
Конечный конечный результат будет
1 3 5 6 9 // все элементы окончательно отсортированы
Быстрая сортировка: предположим, у нас есть большой массив из 7 чисел
1 3 8 9 4 5 7
Мы определяем центральное число как 7, последняя цифра массива.
Теперь 7 будет проверяться каждый раз
1 8 3 9 4 5 7 // Нет обмена, так как это первое значение
1 8 3 9 4 5 7 // Нет обмена с 8> 7
1 3 8 9 4 5 7 // Переключение между 3 и 8, так как 3 <7
1 3 8 9 4 5 7 // Нет обмена с 9> 7
1 3 4 9 8 5 7 // Переключение между 4 и 8 с 4 <7
1 3 4 5 8 9 7 // Переключение между 5 и 9 с 5 <7
1 3 4 5 7 9 8 // Переключение между 7 и 8 с 9> 7
Теперь, когда 7 достигло подходящего значения путем разбиения, мы можем выполнить следующий шаг
1, 3, 4, 5, 7, 9, 8 // Так как Quick является рекурсивным, мы можем обратиться к другому разделу 1, 3, 4, 5 и 9, 8.
1, 3, 4, 5 // 5 становится точкой поворота и проверяет каждый элемент
9, 8 // 8 становится точкой поворота и проверяет остальные элементы
8, 9 // Переключение между 8 и 9, так как 8 <9.
Объединяя оба, мы получаем наш конечный результат
1, 3, 4, 5, 7, 8, 9