Python sortowania bańki

Python sortowania bańki
Sortowanie to proces układania wartości w celu obecnej w formie list. Różne rodzaje sortowania dyskryminują ze względu na ich techniki użytkowania i podejścia, takie jak szybki sort, sortowanie, sortowanie, sortowanie bąbelków itp. Ten samouczek jest związany z bańką.

Bańka

Jest to organizowanie elementów tablicy, które dotyczy używania najprostszego algorytmu sortowania stosowanego przez wielokrotne zamianę sąsiednich elementów, jeśli zamówienie jest błędne.

Działanie sortowania bańki

Aby sortować wartości w kolejności rosnącej, wówczas pierwsza iteracja obejmuje proces porównywania i zamiany. Pierwsza wartość indeksu i druga jest porównywana. Jeśli warunek jest spełniony, zamiana występuje i powtarza się do końca.

Algorytm / pseudo kod do sortowania bąbelków

funkcja (tablica)
Dla I Rightvalue
Zamień lewą wartość i prawą wartość
funkcja końcowa

Przykład 1

Mechanizm sortowania pęcherzyków jest stosowany do języka programowania Python za pomocą funkcji o nazwie Bubble Sort. Składnia funkcji polega na tym, że używane jest słowo kluczowe „def” wraz z nazwą funkcji. W parametrze funkcji przekazaliśmy tablicę, która ma być sortowana według funkcji. Więc teraz zobaczymy pełną funkcjonalność lub powiemy, że rdzeń całego procesu sortowania jest zdefiniowany w ciele funkcji. Najpierw zadeklarujemy długość tablicy do zmiennej za pośrednictwem operatora przypisania za pomocą wbudowanej funkcji len (.

# n = len (ARR)

Aby uzyskać dostęp do dowolnego elementu w tablicy, zawsze używamy pętli w dowolnym języku programowania. W ten sposób Python wykorzystuje również pętlę „for” w procesie sortowania, aby uczynić ją dla użytkownika. Więc tablica zostanie przemierzona za pomocą pętli.

# Dla i w zakresie (n - 1):

Tutaj „i” jest zmienną reprezentującą numer indeksu w tablicy, mający tablicę ustalonego rozmiaru minus jeden. Ponieważ „n 'reprezentuje rozmiar tablicy, więc (n-1) reprezentuje przemieszczenie pętli do położenia rozmiaru minus jeden, dzięki czemu możemy ponownie iterować pętlę po pojedynczej iteracji.

Jak opisano powyżej, dwa najbliższe sąsiadujące wskaźniki są porównywane dla sortowania bąbelkowego. Korzystając z powyższej pętli, uzyskamy dostęp do jednego indeksu. Powiedz pierwszą, aby uzyskać dostęp do następnego indeksu; Następnie potrzebujemy pętli. To jest wewnętrzna pętla, a wyżej wymieniona jest deklarowana jako pętla zewnętrzna. Zjawisko to przypomina dwuwymiarową tablicę (2d). Zadawajmy więc wewnętrzną pętlę.

# dla J w zakresie (0, n-i-1):

Zmienna „j” jest jak „i” zewnętrznej pętli, ale będzie to reprezentować kolejną wartość bieżącej wartości indeksu „i”, ponieważ zastosowaliśmy logikę „n-i-1”, więc pętla będzie iteruj do pozycji odejmowania wartości „i” od wielkości tablicy wraz z wartością „-1”, doprowadzi to do dwóch sąsiednich indeksów w tablicy.

Dostęp do dwóch wartości w tablicy i nadszedł czas, aby je porównać, ponieważ wiemy, że porównanie jest dokonywane przez wsporniki kątowe. Musimy użyć wspornika „> '.

Jeśli ARR [J]> ARR [J + 1]:
ARR [J], ARR [J +1] = ARR [J + 1], ARR [J]

Jeśli wartość po lewej stronie, która jest dostępna, jest większa niż wartość po prawej, dostępna później, wówczas obie wartości są zamieniane bezpośrednio bez użycia żadnego zaangażowania trzeciego miejsca. W drugim przypadku przejdź do następnej pozycji. To była główna funkcja logiczna sortowania bańki.

Wskakuj poza pętle. Następnie deklarujemy tablicę i przekazujemy ją do funkcji przez wywołanie funkcji.

BubbleSort (ARR).

Następnie sortowana tablica zostanie wydrukowana. W wynikowej konsoli zostanie wyświetlona wynikowa wartość.

Możesz zobaczyć, że tablica wejściowa zawiera losowe wartości, podczas gdy w wynikającej z nich wszystkie elementy są sortowane w kolejności rosnącej.

Przykład 2

Powyższy przykład dotyczy kontynuacji wszystkich możliwych porównań, nawet jeśli cała tablica jest już posortowana. Prowadzi to do rozszerzenia czasu wykonania w całej tablicy. Aby uczynić realizację ograniczoną czasową, użyjemy trzeciej zmiennej. Tutaj używamy zmiennej logicznej, aby ustawić wartość zmiennej jako prawdziwą, jeśli nastąpi zamiana. W przeciwnym razie jest to uważane za fałszywe.

Po każdej iteracji, jeśli nie nastąpi zamiana z powodu zamiany, wartość będzie fałszywa. Odnosi się do tego, gdy wszystkie elementy w tablicy są już sortowane i nie ma dalszego wymogu ich sortowania. To zjawisko jest łatwo stosowane i może skrócić czas wykonywania i skorzystać z optymalizacji sortowania bańki.

W funkcji sortowania bąbelków długość została uznana za zmienną. Dodatkowa zmiana zamieniona jest początkowo deklarowana jako fałszywa. Ale jego wartość zmienia się, gdy nastąpi proces zamiany.

Zamieniony = false

Wewnątrz zarówno zewnętrznej, jak i wewnętrznej pętli następuje porównanie wartości określonych wskaźników; Jeśli należy wymienić wartości, zmienna zamieniona jest przekształcana w „true”, a wartości są wymienione pomyślnie.

Ale jeśli żadne dwie wartości nie zostaną zamienione, gdy wartości są już ułożone, to nie nastąpi zamiana, więc zmienna zamieniona pozostaje fałszywa. A potem nastąpi przerwa. Ta kontrola jest osiągana przez podnośnik IF.

Jeśli zamieniono == fałsz

Przerwa

Ta przerwa będzie odpowiedzialna za powstrzymanie pętli przed dalszym wykonywaniem. Podobnie jak w tym przykładzie, przerwa nastąpi na indeksie 1,2 i 3.

Po zapisaniu pliku wartości wykonania można zobaczyć za pomocą konsoli. Możesz zobaczyć wynikające wartości ułożone w kolejność rosnącą.

Przykład 3

Ten przykład jest zgodny z tą samą koncepcją, co wyjaśniono w drugim przykładzie za pomocą tej samej zamienionej logicznej przy użyciu innej zmiennej w momencie zamiany wartości. To jest wartość tymczasowa. Jest to szablon, który tymczasowo przechowuje wartości.

Ten sam powyższy przykład jest tutaj używany. Rozważ tylko procedurę zamiany tutaj. Pierwsza wartość indeksu jest zapisywana w zmiennej „Temp” wewnątrz pętli. I ta przestrzeń jest wypełniona wartością obok niego w tablicy, do której porównywana jest poprzednia wartość. I ta kolejna wartość jest teraz zastąpiona wartością obecną w temperaturze. Nazywa się to przypisaniem wartości pośrednie i wykorzystuje więcej kroków niż bezpośrednie przypisanie wartości.

Zmienna zamieniona zostanie ogłoszona jako prawdziwa w sprawie zamiany. Wykonaj kod, aby zobaczyć wyniki.

Wniosek

Artykuł „Bubble Sort” zawiera krótkie wprowadzenie do metodologii sortowania za pośrednictwem algorytmu. Omówiono szczegółowy proces sortowania bańki z podejściem krok po kroku. Narzędzie Spyder jest zalecane do wdrażania programów związanych z Python. Każdy podstawowy przykład przedstawia użycie bąbelków w języku Python.