Bubble Sort w Python

Bubble Sort w Python
W tej sekcji porozmawiamy o sortowaniu bańki w Pythonie. Jeśli chcesz dowiedzieć się o sortowaniu bańki w Pythonie, jesteś na dokładnej platformie. Tutaj zapewnimy Ci wszystkie kroki, w jaki sposób możesz wykonać sortowanie bańki w Python. Sortowanie pęcherzyków jest również algorytmem sortowania. Lista jest odcieniana wielokrotnie, zanim będzie wymagana wymiana; Ten proces pokazuje, że tablica jest prawidłowo sortowana. Ten artykuł jest związany z sortowaniem bańki. Tutaj omówimy ten rodzaj sortowania za pomocą niektórych przykładów programowania.

Bubble Sort w Python

W tej sekcji podamy kilka szczegółów na temat sortowania bańki. Sortowanie bąbelków iteracyjnie skanuje listę, porównuje elementy i zastępuje wszystkie, które są pozarządowe. Lista jest przesyłana ponownie po raz, aż zostanie posortowana. Ta procedura jest powtarzana, dopóki wszystkie wartości w tablicy lub liście nie zostaną porównane. Jeśli w każdym przypadku konieczne jest zamiana, elementy są zamieniane na sortowanie. W sortowaniu bańki wykonujemy sprawdzanie iteracji za pomocą różnych pętli, takich jak „for” i „while”.

Każda iteracja jest zazwyczaj określana jako „przejście” w sortowaniu. Chodzi o szczegóły sortowania bańki w Pythonie. W trakcie procesu sortowania mniejsze komponenty (jeśli sortujemy w kolejności rosnącej) „bańka” na górze listy i daje metodę sort.

Powiedzmy, że chcemy zorganizować listę przedmiotów w sposób uporządkowany, który jest w losowej kolejności. Rozważ następującą listę:

[56,2,6,22,9]

Aby zamienić dwa sąsiednie komponenty, jeśli pierwsza wartość jest większa niż druga, iterujemy za pomocą listy. Wynik jest następujący:

[2,6,9,22,56]

Mam nadzieję, że masz teraz zrozumienie sortowania bańki. Omówmy teraz niektóre przykłady programowania w celu lepszego zrozumienia.

Przykład 1:
Najpierw omawiamy proces sortowania bańki za pomocą prostego przykładu. Dzięki temu przykładowi możesz łatwo wykonać sortowanie bańki w aplikacjach Python. Kod referencyjny tego przykładu jest następujący. Zapoznaj się z tym kodem i spróbuj zrozumieć IT wiersz po wierszu:

Def Bubble_Sort (ARR1):
num = len (ARR1)
Dla i w zakresie (num):
dla m w zakresie (0, num - i - 1):
Jeśli ARR1 [M]> Arr1 [M + 1]:
ARR1 [M], ARR1 [M + 1] = ARR1 [M + 1], ARR1 [M]
return ARR1

Definiujemy funkcję, którą nazywamy procesem sortowania bąbelków i nazwą funkcji, która jest „bubble_sort”. W tej funkcji przekazujemy tablicę, którą definiujemy w celu sortowania. Tutaj tablica nazywa się „ARR1”. Bierzemy inną zmienną o nazwie „NUM” i przypisujemy długość tablicy do tej zmiennej. Teraz używamy „do pętli”, która służy do przeszukiwania indeksu listy zawierającej różne typy elementów. Bierzemy zmienną o nazwie „I”. Ta pętla sprawdza wszystkie elementy tablicy. Bierzemy pętlę używaną do dostępu do każdego elementu tablicy do przeszukania elementów, które jest większe, i do porównania sąsiednich elementów. Zewnętrzny „for Loop” z zmienną „I” działa na czas „num”, gdzie „num” jest długością listy. Wewnętrzna „for Loop” ze zmienną „M” działa od 0 do NUM-I-1.

W każdej iteracji wewnętrznej pętli porównujemy bieżący element (ARR1 [M]) z następnym elementem (ARR1 [M+1]). W przypadku, gdy bieżący element jest większy niż następny element, wymieniamy je. W związku z tym największy element bliź się do ostatniej pozycji na liście po każdej iteracji, a następnie drugi co do wielkości element podczas kolejnego przebiegu i tak dalej. Ten proces jest powtarzany, aż lista nie zostanie sortowana.

Tablica jest sortowana po zakończeniu zewnętrznego „for Loop”. Sekt bańki jest jednym z najprostszych algorytmów sortowania, ale nie jest najbardziej wydajny ze względu na złożoność czasu O (n^2). Oznacza to, że czas potrzebny na sortowanie tablicy wzrasta wykładniczo wraz ze wzrostem liczby elementów w tablicy.

Wyjście:
Wyjście tego przykładu jest następujące:

[1, 10, 12, 25, 35, 44, 64]

Przykład 2:
Bierzemy kolejny przykład Twojej pomocy. Kod referencyjny tego przykładu jest dołączony do następujących:

def BubbleSortArray (ARR):
n = len (ARR)
bo w zakresie (n):
dla J z zakresu (0, n-i-1):
Jeśli ARR [J]> ARR [J+1]:
ARR [J], ARR [J+1] = ARR [J+1], ARR [J]
return ARR
List_element = [64, 44, 35, 25, 12, 1, 10]
print (BubbleSortArray (List_Element))

Tutaj, w poprzednim kodzie, widzimy, że najpierw definiujemy funkcję dla bąbelków o nazwie „BubbleSortArray”, w której przekazujemy tablicę „ARR” jako argument funkcji. Następnie deklarujemy zmienną o nazwie „N”, która przechowuje długość tablicy.

Teraz używamy pętli „dla”, w której inicjujemy zmienną „i”, która ogranicza równą długości tablicy. W tej pętli „dla” używamy innej pętli, która przyjmuje pierwszy element tablicy. Zakres tej pętli jest mniejszy niż wartość indeksu. Tutaj porównujemy sąsiednie wartości tablicy. Jeśli wartość tablicy jest większa niż następna wartość tablicy, zamieniamy wartości i zwracamy te wartości tablicy do parametru funkcji.

W ten sposób możemy wykonać sortowanie. Na koniec inicjujemy tablicę, na którą stosujemy przechowywanie bańki. Przedstawiamy funkcję w instrukcji drukowania wyświetlonego wyniku na ekranie. Tablica jest ułożona w kolejności malejącej w tej implementacji. Zewnętrzna pętla iteruje tablicę, a pętla wewnętrzna porównuje i zamienia sąsiednie elementy, jeśli nie są przechowywane.

Aby wyświetlić wyjście, przekazujemy funkcję w instrukcji drukowania. „List_element” jest inicjowany z tablicą, na której wykonujemy sort.

Wyjście:
Wyjście tej tablicy jest dołączone następująco:

[1, 10, 12, 25, 35, 44, 64]

Wniosek

Możemy powiedzieć, że sort bąbelkowy używa prostej logiki, która działa poprzez powtarzanie sąsiednich elementów, jeśli nie są one we właściwej kolejności i że algorytm sortowania bańki nie działa dobrze, gdy tablica lub lista jest odwrotna, a wszystkie elementy tablic tablic nie są sortowane. Ten rodzaj sortowania jest najpotężniejszy do celów akademickich, takich jak wyszukiwanie i wykonywanie różnych zadań. Mam nadzieję, że teraz rozumiesz tego rodzaju sortowanie w Pythonie. Możesz łatwo zaimplementować te przykładowe kody w swojej aplikacji Python, aby uzyskać większą jasność.