Kluczowa różnica: sortowanie bąbelkowe jest najprostszą techniką algorytmu sortowania, która polega na zamianie dwóch sąsiednich elementów w celu umieszczenia ich we właściwym miejscu, gdzie jako sortowanie szybkie działa technika podziału i wygrywania algorytmu, w której kluczowy element staje się centralnym punktem podział wokół danej tablicy.
O ile wiadomo, że obie techniki sortowania mają przyzwoite miejsce w świecie informatyki, sortowanie bąbelkowe jest najprostszą techniką algorytmu sortowania, która polega na zamianie dwóch sąsiednich elementów w celu umieszczenia ich we właściwym miejscu, natomiast sortowanie szybkie działa na zasadzie podziału i Wygraj technikę algorytmu, w której kluczowy element staje się centralnym punktem podziału wokół danej tablicy.
Aby zrozumieć te dwie koncepcje nieco głębiej, podzielmy różnice na precyzyjną segmentację, aby była wyraźniejsza.
1. Podejście: Aby mieć jasny pomysł, najpierw rozróżnijmy na podstawie ich podejścia algorytmicznego.
Bubble Sort: Załóżmy, że istnieje 5 elementów 9, 5, 3, 6, 1 i musimy je posortować w porządku rosnącym.
- 9 5 3 6 1 // pierwszy element sprawdź sąsiedni element i zamień go na większy (tutaj 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 dotarło do miejsca docelowego
Teraz rozpoczyna się następna iteracja:
- 5 3 6 1 9 // (5> 3)
- 3 5 6 1 9 // (5 <6) - Bez zamiany
- 3 5 6 1 9 // (6> 1)
- 3 5 1 6 9 // (6 <9) - Bez zamiany
- 3 5 1 6 9 // 6 dotarło do miejsca docelowego
--- Kilka kolejnych iteracji ---
Ostatecznym rezultatem będzie
1 3 5 6 9 // wszystkie elementy są ostatecznie posortowane
Szybkie sortowanie: Załóżmy, że mamy większą liczbę 7 liczb
1 3 8 9 4 5 7
Liczbę przejmującą ustalamy na 7, ostatnia cyfra tablicy.
Teraz 7 będzie sprawdzane za każdym razem
1 8 3 9 4 5 7 // Bez zamiany, ponieważ jest to pierwsza wartość
1 8 3 9 4 5 7 // Bez zamiany od 8> 7
1 3 8 9 4 5 7 // Zamiana między 3 a 8, ponieważ 3 <7
1 3 8 9 4 5 7 // Bez wymiany od 9> 7
1 3 4 9 8 5 7 // Zamiana od 4 do 8, ponieważ 4 <7
1 3 4 5 8 9 7 // Zamiana od 5 do 9, ponieważ 5 <7
1 3 4 5 7 9 8 // Zamiana między 7 a 8 od 9> 7
Teraz, odkąd 7 osiągnęło odpowiednią wartość poprzez partycjonowanie, możemy wykonać kolejny krok
1, 3, 4, 5, 7, 9, 8 // Ponieważ Quick jest rekurencyjny, możemy wywołać kolejny podział 1, 3, 4, 5 i 9, 8.
1, 3, 4, 5 // 5 staje się punktem obrotu i sprawdza każdy element
9, 8 // 8 staje się punktem przegubowym i sprawdza pozostałe elementy
8, 9 // Zamiana pomiędzy 8 a 9, ponieważ 8 <9.
Łącząc oba, otrzymujemy nasz końcowy wynik
1, 3, 4, 5, 7, 8, 9