Hvordan implementeres Bubble Sort i Python?



I denne blog lærer du koden og forklaringen på sortering af en Pythons liste ved hjælp af boblesortering ved hjælp af byttemetoden.

Sortering betyder at arrangere data i stigende eller faldende rækkefølge i henhold til et eller andet lineært forhold mellem elementerne. Denne artikel om Bubble Sort in vil hjælpe dig med at forstå dette koncept i detaljer.

java applet programmerer eksempler med output

Vi vil dække nedenstående emner i denne blog:





Hvad er Bubble Sort?

Boblesortering er også kendt som synkende sortering. Det er en simpel sorteringsalgoritme, der løbende gennemgår listen, der skal sorteres, sammenligner hvert par tilstødende emner og bytter dem, hvis de ikke er i den rigtige rækkefølge. Trinene gentages, indtil der ikke er behov for flere swaps, hvilket er når listen er sorteret.

Trin til udførelse af en boblesortering

  • Sammenlign første og andet element på listen, og skift, hvis de er i den forkerte rækkefølge.
  • Sammenlign andet og tredje element, og skift dem, hvis de er i den forkerte rækkefølge.
  • Fortsæt på samme måde indtil det sidste element på listen på en lignende måde.
  • Fortsæt med at gentage alle ovenstående trin, indtil listen er sorteret.

Ovenstående trin vil være mere tydelige ved følgende visualiseringer -



Boblesortering i Python - Edureka



Bubble Sort Algorithm

Lad os nu se på algoritmen bag Bubble Sort.

Første pas:

( 16.19 11,15,10) -> ( 16.19 11,15,10) - Algoritmen sammenligner de to første elementer og bytter siden 19> 16

(16, 19.11 , 15.10) -> (16, 11.19 , 15.10) - Byt siden 19> 11

(16.11, 19.15 , 10) -> (16,11, 15.19 , 10) - Byt siden 19> 15

(16,11,15, 19.10 ) -> (16,11,15, 10.19 ) - Da disse elementer allerede er i den rigtige rækkefølge (19> 10), bytter algoritmen dem ikke.

Andet pas:

( 16.11 , 15,10,19) -> ( 11.16 , 15,10,19) - Byt siden 16> 11

( elleve, 16.15 , 10,19) -> (11, 15.16 , 10,19) - Byt siden 16> 15

(11.15, 16.10 , 19) -> (11,15, 10.16 , 19) - Byt siden 16> 10

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

hvordan man installerer php på Windows 10

Det er sorteret, men vores algo ved ikke, om den er afsluttet. Derfor har det brug for endnu et helt pas uden bytte for at vide, at det er sorteret.

Tredje pas:

( elleve, 15.10 , 16,19) -> (11, 15.10 , 16,19)

( elleve, 15.10 , 16,19) -> (11, 10.15 , 16,19) - Byt siden 15> 10

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

hvad svæver i css

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

Fjerde pas:

( 11.10 , 15,16,19) -> ( 10.11 , 15,16,19) - Byt siden 11> 10

Den endelige output er (10,11,15,16,19)

Lad os nu kode dette op -

Python-program til implementering af Bubble Sort

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

# gentagelse af sløjfe len (a) (antal elementer) antal gange for j inden for rækkevidde (len (a)): # initialt swapped is false swapped = False i = 0, mens ia [i + 1]: # swapping a [i ], a [i + 1] = a [i + 1], a [i] # Ændring af værdien af ​​swapped swapped = True i = i + 1 # hvis swapped er falsk, så er listen sorteret # vi kan stoppe sløjfen hvis byttet == Falsk: bryde udskrivning (a)
 PRODUKTION: 


I ovenstående kode sammenligner vi de tilstødende tal og bytter dem, hvis de ikke er i den rigtige rækkefølge. Gentag den samme proces len (a) antal gange. Vi har tildelt en variabel 'byttet ud' og gjort den til 'sand', hvis der er byttet to elementer i en iteration. Og hvis der ikke er nogen udveksling af elementer, er listen allerede sorteret, og derfor er der ingen ændring i værdien af ​​'byttet', og vi kan bryde løkken.

Med dette kommer vi til slutningen af ​​bloggen med titlen “Sådan implementeres Bubble Sort i Python”. Jeg håber, at indholdet tilføjer værdi til din Python-viden.

Sørg for at øve så meget som muligt, og vend din oplevelse tilbage.

Har du et spørgsmål til os? Nævn det i kommentarfeltet i denne “Sådan implementeres Bubble Sort in Python” -blog, og vi vender tilbage til dig hurtigst muligt.

For at få dybtgående viden om Python sammen med dens forskellige applikationer kan du tilmelde dig live med 24/7 support og livstidsadgang.