Sortowanie oznacza uporządkowanie dowolnych danych w kolejności rosnącej lub malejącej zgodnie z pewną liniową zależnością między elementami. Ten artykuł na temat Bubble Sort in pomoże ci szczegółowo zrozumieć tę koncepcję.
Na tym blogu omówimy poniższe tematy:
- Co to jest sortowanie bąbelkowe?
- Kroki wykonywania sortowania bąbelkowego
- Algorytm sortowania bąbelkowego
- Program w Pythonie do zaimplementowania ent Sortowanie bąbelkowe
Co to jest sortowanie bąbelkowe?
Sortowanie bąbelkowe jest również znane jako sortowanie tonące. Jest to prosty algorytm sortowania, który nieustannie przechodzi przez listę do posortowania, porównując każdą parę sąsiednich elementów i zamieniając je, jeśli nie są we właściwej kolejności. Kroki są powtarzane, dopóki nie będą już potrzebne wymiany, czyli wtedy, gdy lista jest sortowana.
Kroki wykonywania sortowania bąbelkowego
- Porównaj pierwszy i drugi element na liście i zamień je, jeśli są w złej kolejności.
- Porównaj drugi i trzeci element i zamień je, jeśli są w złej kolejności.
- Postępuj podobnie, aż do ostatniego elementu listy w podobny sposób.
- Powtarzaj wszystkie powyższe kroki, aż lista zostanie posortowana.
Powyższe kroki będą bardziej zrozumiałe dzięki poniższym wizualizacjom -
Algorytm sortowania bąbelkowego
Spójrzmy teraz na algorytm stojący za sortowaniem bąbelkowym.
Pierwszy przebieg:
( 16.19 , 11, 15, 10) -> ( 16.19 , 11, 15, 10) - Algorytm porównuje dwa pierwsze elementy i swapy od 19> 16
(16, 19.11 , 15.10) -> (16, 11.19 , 15.10) - Zamień od 19> 11
(16.11, 19.15 , 10) -> (16,11, 15.19 , 10) - Zamień od 19> 15
(16,11,15, 19.10 ) -> (16,11,15, 10.19 ) - Teraz, ponieważ te elementy są już w odpowiedniej kolejności (19> 10), algorytm ich nie zamienia.
Drugie przejście:
( 16.11 , 15,10,19) -> ( 11.16 , 15,10,19) - Zamień od 16> 11
(jedenaście, 16.15 , 10,19) -> (11, 15.16 , 10,19) - Zamień od 16> 15
(11,15; 16.10 , 19) -> (11,15, 10.16 , 19) - Zamień od 16> 10
(11,15,10,16,19) -> (11,15,10,16,19)
Plik jest posortowany, ale nasz algorytm nie wie, czy jest zakończony. W związku z tym, aby wiedzieć, że jest posortowany, potrzebuje jeszcze jednego całego przebiegu bez żadnej zamiany.
Trzecie podanie:
(jedenaście, 15.10 , 16, 19) -> (11, 15.10 16,19)
(jedenaście, 15.10 , 16, 19) -> (11, 10.15 , 16,19) - Zamień od 15> 10
(11,10,15,16,19) -> (11,10,15,16,19)
(11,10,15,16,19) -> (11,10,15,16,19)
Czwarty przebieg:
( 11.10 , 15,16,19) -> ( 10.11 , 15,16,19) - Zamień od 11> 10
Ostateczny wynik to (10,11,15,16,19)
Zakodujmy to teraz -
Program w Pythonie do implementacji sortowania bąbelkowego
dlaczego powinienem się uczyć sql
a = [16, 19, 11, 15, 10, 12, 14]
#powtarzanie pętli len (a) (liczba elementów) ile razy dla j w zakresie (len (a)): # początkowo zamienione to false swapped = false i = 0 while ia [i + 1]: #swapping a [i ], a [i + 1] = a [i + 1], a [i] #Zmiana wartości swapped swapped = True i = i + 1 # if swapped is false to lista jest posortowana # możemy zatrzymać pętlę if swapped == False: break print (a)
WYNIK:
W powyższym kodzie porównujemy sąsiednie liczby i zamieniamy je, jeśli nie są we właściwej kolejności. Powtórz ten sam proces len (a) kilka razy. Przypisaliśmy zmiennej „swapped” i nadaliśmy jej wartość „True”, jeśli jakiekolwiek dwa elementy zostaną zamienione w iteracji. A jeśli nie ma zamiany elementów, to lista jest już posortowana, a co za tym idzie, nie ma zmiany wartości elementu „zamienionego” i możemy przerwać pętlę.
Tym samym kończymy blog zatytułowany „Jak zaimplementować sortowanie bąbelkowe w Pythonie”. Mam nadzieję, że ta zawartość zwiększy Twoją wiedzę o Pythonie.
Upewnij się, że ćwiczysz jak najwięcej i cofnij swoje doświadczenie.Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy tego bloga „Jak zaimplementować sortowanie bąbelkowe w Pythonie”, a my skontaktujemy się z Tobą tak szybko, jak to możliwe.
Aby uzyskać dogłębną wiedzę na temat języka Python i jego różnych aplikacji, możesz zarejestrować się na żywo z całodobowym wsparciem i dożywotnim dostępem.