Ключова різниця: сортування бульбашками є найпростішою формою техніки алгоритму сортування, яка включає заміну двох суміжних елементів для того, щоб помістити їх у потрібне місце, де як швидкий сорт працює з алгоритмом розбиття та виграшу, в якому основний елемент стає координаційною точкою поділ навколо даного масиву.
Хоча, як відомо, обидві методи сортування мають пристойне місце в світі комп'ютерних наук, сортування бульбашок є найпростішою формою техніки алгоритму сортування, яка передбачає заміну двох суміжних елементів, щоб помістити їх у потрібне місце, тоді як швидкий сортування працює на розбиття і Метод виграшного алгоритму, в якому основний елемент стає фокусною точкою поділу навколо даного масиву.
Щоб зрозуміти ці два поняття трохи глибше, давайте розберемо відмінності в точну сегментацію, щоб зробити її більш зрозумілою.
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
Визначимо величину pivotal як 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