Jak implementovat Bubble Sort v Pythonu?



V tomto blogu se dozvíte kód a vysvětlení řazení seznamu Pythonu pomocí bublinového řazení pomocí metody swapování.

Třídění znamená uspořádání jakýchkoli dat ve vzestupném nebo sestupném pořadí podle nějakého lineárního vztahu mezi prvky. Tento článek o Bubble Sort in vám pomůže pochopit tento koncept podrobně.

V tomto blogu se budeme zabývat níže uvedenými tématy:





Co je Bubble Sort?

Třídění bublin je také známé jako potopení. Jedná se o jednoduchý třídicí algoritmus, který průběžně prochází seznamem, který se má třídit, porovnává každou dvojici sousedních položek a vyměňuje je, pokud nejsou ve správném pořadí. Kroky se opakují, dokud nejsou potřeba žádné další swapy, tedy když je seznam seřazen.

Kroky pro provedení třídění bublin

  • Porovnejte první a druhý prvek v seznamu a vyměňte je, pokud jsou ve špatném pořadí.
  • Porovnejte druhý a třetí prvek a vyměňte je, pokud jsou ve špatném pořadí.
  • Podobně postupujte až do posledního prvku seznamu.
  • Opakujte všechny výše uvedené kroky, dokud nebude seznam seřazen.

Výše uvedené kroky budou jasnější z následujících vizualizací -



Třídění bublin v Pythonu - Edureka



Algoritmus třídění bublin

Nyní se podívejme na Algoritmus za Bubble Sort.

První průchod:

( 16,19 , 11,15,10) -> ( 16,19 , 11,15,10) - Algoritmus porovnává první dva prvky a swapy od 19> 16

(16, 19.11 , 15.10) -> (16, 11,19 , 15.10) - Zaměnit od 19> 11

(16.11, 19.15 , 10) -> (16,11, 15,19 , 10) - Zaměnit od 19> 15

(16,11,15, 19.10 ) -> (16,11,15, 10.19 ) - Nyní, protože tyto prvky jsou již ve správném pořadí (19> 10), algoritmus je nezaměňuje.

Druhý průchod:

( 16.11 , 15,10,19) -> ( 11.16 , 15,10,19) - Zaměnit od 16> 11

(jedenáct, 16.15 , 10.19) -> (11, 15.16 , 10,19) - Zaměnit od 16> 15

(11.15, 16.10 , 19) -> (11,15, 10.16 , 19) - Zaměnit od 16> 10

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

The je seřazeno, ale naše algo neví, zda je dokončeno. Proto potřebuje další celý průchod bez jakékoli výměny, aby věděl, že je seřazen.

Třetí průchod:

(jedenáct, 15.10 , 16,19) -> (11, 15.10 , 16,19)

(jedenáct, 15.10 , 16,19) -> (11, 10.15 , 16,19) - Zaměnit od 15> 10

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

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

Čtvrtý průchod:

( 11.10 , 15,16,19) -> ( 10.11 , 15,16,19) - Zaměnit od 11> 10

proč bych se měl naučit sql

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

Pojďme to nyní kódovat -

Program Python pro implementaci 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] # Změna hodnoty swapped swapped = True i = i + 1 # if swapped is false then the list is ordered # we can stop the loop pokud je zaměněn == False: break print (a)
 VÝSTUP: 


Ve výše uvedeném kódu porovnáme sousední čísla a vyměníme je, pokud nejsou ve správném pořadí. Opakujte stejný proces len (a) několikrát. Přiřadili jsme proměnnou ‚zaměnit 'a udělali ji‚ Pravda ‘, pokud jsou v iteraci zaměněny jakékoli dva prvky. A pokud nedojde k záměně prvků, pak je seznam již seřazen, a tedy nedojde ke změně hodnoty „vyměněného“ a můžeme smyčku prolomit.

Tímto se dostáváme na konec blogu s názvem „Jak implementovat Bubble Sort v Pythonu“. Doufám, že obsah přidal hodnotu k vašim znalostem Pythonu.

Ujistěte se, že cvičíte co nejvíce a vraťte své zkušenosti.

Máte na nás dotaz? Uveďte to prosím v sekci komentářů v tomto blogu „Jak implementovat Bubble Sort v Pythonu“ a my se vám ozveme co nejdříve.

Chcete-li získat podrobné znalosti o Pythonu a jeho různých aplikacích, můžete se zaregistrovat naživo s nepřetržitou podporou a doživotním přístupem.