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 to Bubble sort?
- Kroky pro provedení třídění bublin
- Algoritmus třídění bublin
- Program Python k implementaci ent Bubble Sort
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í -
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.