Ako implementovať Bubble Sort v Pythone?



V tomto blogu sa dozviete kód a vysvetlenie zoradenia Pythonovho zoznamu pomocou bublinového triedenia pomocou metódy výmeny.

Triedenie znamená usporiadanie akýchkoľvek údajov v rastúcom alebo zmenšujúcom sa poradí podľa lineárneho vzťahu medzi prvkami. Tento článok o Bubble Sort in vám pomôže podrobne pochopiť tento pojem.

Témam uvedeným v tomto blogu sa budeme venovať nižšie:





Čo je to Bubble Sort?

Bublinové triedenie je tiež známe ako potápavé triedenie. Jedná sa o jednoduchý algoritmus triedenia, ktorý neustále prechádza zoznamom, ktorý sa má triediť, porovnaním každej dvojice susedných položiek a ich výmenou, ak nie sú v správnom poradí. Kroky sa opakujú, až kým nie sú potrebné ďalšie zámeny, čo znamená, že je zoznam zoradený.

Kroky na vykonanie triedenia bublín

  • Porovnajte prvý a druhý prvok v zozname a vymeňte ich, ak sú v nesprávnom poradí.
  • Porovnajte druhý a tretí prvok a vymeňte ich, ak sú v nesprávnom poradí.
  • Podobným spôsobom postupujte až do posledného prvku zoznamu.
  • Opakujte všetky vyššie uvedené kroky, kým nie je zoznam zoradený.

Vyššie uvedené kroky budú jasnejšie v nasledujúcich vizualizáciách -



Triedenie bublín v Pythone - Edureka



Algoritmus triedenia bublín

Teraz sa pozrime na algoritmus za Bubble Sort.

Prvý priechod:

( 16,19 , 11,15,10) -> ( 16,19 , 11,15,10) - Algoritmus porovnáva prvé dva prvky a swapy od 19> 16

(16, 19.11 , 15.10) -> (16, 11.19 , 15.10) - Zamieňajte od 19> 11

(16.11, 19.15 , 10) -> (16,11, 15.19 , 10) - Zamieňajte od 19> 15

(16,11,15, 19.10 ) -> (16,11,15, 10.19 ) - Pretože tieto prvky sú už v správnom poradí (19> 10), algoritmus ich nezamení.

Druhý priechod:

( 16.11 , 15,10,19) -> ( 11.16 , 15,10,19) - Zamieňajte od 16> 11

(jedenásť, 16.15 , 10.19) -> (11, 15.16 , 10,19) - Zamieňajte od 16> 15

(11.15, 16.10 , 19) -> (11,15, 10.16 , 19) - Zamieňajte od 16> 10

(11,15,10,16,19) -> (11,15,10,16,19)

The je zoradené, ale naše algo nevie, či je dokončené. Preto potrebuje ďalší celý priechod bez akejkoľvek výmeny, aby vedel, že je zoradený.

Tretí prechod:

(jedenásť, 15.10 , 16,19) -> (11, 15.10 , 16,19)

(jedenásť, 15.10 , 16,19) -> (11, 10.15 , 16,19) - Zamieňajte od 15> 10

(11,10,15,16,19) -> (11,10,15,16,19)

(11,10,15,16,19) -> (11,10,15,16,19)

Štvrtý priechod:

( 11.10 , 15,16,19) -> ( 10.11 , 15,16,19) - Zamieňajte od 11> 10

zadná strana čísla v jave

Konečný výstup je (10,11,15,16,19)

Poďme to teraz kódovať -

Program Python na implementáciu Bubble Sort

a = [16, 19, 11, 15, 10, 12, 14]

#repeating loop len (a) (number of elements) number times for j in range (len (a)): #initially swapped is false swapped = False i = 0 while ia [i + 1]: #swapping a [i ], a [i + 1] = a [i + 1], a [i] # Zmena hodnoty zameneného zameneného = Pravda i = i + 1 # zameneného je nepravdivé, potom je zoznam zoradený # môžeme zastaviť slučku ak je zamenený == False: break print (a)
 VÝKON: 


Vo vyššie uvedenom kóde porovnávame susedné čísla a zamieňame ich, ak nie sú v správnom poradí. Rovnaký postup len (a) opakujte viackrát. Priradili sme premennú „zamenené“ a nastavili ju na „True“, ak sú akékoľvek dva prvky zamenené v iterácii. A ak nedôjde k zámene prvkov, je zoznam už zoradený, a teda nedôjde k zmene hodnoty „zameneného“ a môžeme prerušiť slučku.

Týmto sa dostávame na koniec blogu s názvom „Ako implementovať Bubble Sort v Pythone“. Dúfam, že obsah pridal hodnotu k vašim znalostiam jazyka Python.

Určite cvičte čo najviac a obráťte sa na svoje skúsenosti.

Máte na nás otázku? Uveďte to, prosím, v sekcii komentárov v tomto blogu „Ako implementovať Bubble Sort v Pythone“ a my sa vám ozveme čo najskôr.

Ak chcete získať podrobné informácie o Pythone a jeho rôznych aplikáciách, môžete sa zaregistrovať naživo s nepretržitou podporou a doživotným prístupom.