Hur implementerar jag Bubblesortering i Python?



I den här bloggen lär du dig koden och förklaringen för sortering av en Pythons lista med hjälp av bubblasortering med hjälp av bytesmetoden.

Sortering innebär att ordna data i en ökande eller minskande ordning enligt något linjärt förhållande mellan elementen. Den här artikeln om Bubble Sort in hjälper dig att förstå detta koncept i detalj.

Vi kommer att täcka nedanstående ämnen i den här bloggen:





Vad är Bubble Sort?

Bubblesortering är också känt som sjunkande sortering. Det är en enkel sorteringsalgoritm som kontinuerligt går igenom listan som ska sorteras, jämför varje par intilliggande objekt och byter dem om de inte är i rätt ordning. Stegen upprepas tills inga fler byten behövs, vilket är när listan sorteras.

Steg för att utföra en bubbelsortering

  • Jämför första och andra elementet i listan och byt om de är i fel ordning.
  • Jämför andra och tredje element och byt dem om de är i fel ordning.
  • Fortsätt på samma sätt tills det sista elementet i listan på ett liknande sätt.
  • Fortsätt upprepa alla ovanstående steg tills listan är sorterad.

Ovanstående steg kommer att vara tydligare av följande visualiseringar -



Bubblesortering i Python - Edureka



Bubble Sort Algorithm

Låt oss nu titta på algoritmen bakom Bubble Sort.

Första passet:

( 16.19 , 11,15,10) -> ( 16.19 , 11,15,10) - Algoritmen jämför de två första elementen och byter sedan 19> 16

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

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

(16,11,15, 19.10 ) -> (16,11,15, 10.19 ) - Eftersom dessa element redan är i rätt ordning (19> 10) byter inte algoritmen dem.

Andra passet:

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

(elva, 16.15 , 10,19) -> (11, 15.16 , 10,19) - Byt sedan 16> 15

goto uttalande i c ++

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

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

De sorteras, men vårt algo vet inte om det är klart. Därför behöver den ytterligare ett helt pass utan byte för att veta att det är sorterat.

Tredje passet:

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

(elva, 15.10 , 16,19) -> (11, 10.15 , 16,19) - Byt sedan 15> 10

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

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

Fjärde passet:

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

Den slutliga produktionen är (10,11,15,16,19)

Låt oss nu koda upp detta -

när du ska använda detta. i java

Python-program för att implementera Bubble Sort

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

# upprepande slinga len (a) (antal element) antal gånger för j inom intervallet (len (a)): # initialt bytt är falskt bytt = Falskt i = 0 medan ia [i + 1]: #swapping a [i ], a [i + 1] = a [i + 1], a [i] # Ändring av värdet på bytt byt = Sann i = i + 1 # om bytt är falskt sorteras listan # vi kan stoppa slingan om bytt == Falskt: bryta utskrift (a)
 PRODUKTION: 


I koden ovan jämför vi de intilliggande siffrorna och byter dem om de inte är i rätt ordning. Upprepa samma process len (a) flera gånger. Vi har tilldelat en variabel 'bytt' och gjort den 'sann' om två element byts ut i en iteration. Och om det inte förekommer någon utbyte av element så är listan redan sorterad och därmed finns det ingen förändring i värdet på 'bytt' och vi kan bryta slingan.

Med detta kommer vi till slutet av bloggen med titeln “Hur man implementerar Bubble Sort i Python”. Jag hoppas att innehållet tillför mervärde till din Python-kunskap.

Se till att du tränar så mycket som möjligt och återgår till din upplevelse.

Har du en fråga till oss? Vänligen nämna det i kommentarsektionen i denna “Hur man implementerar Bubble Sort in Python” -bloggen så kommer vi tillbaka till dig så snart som möjligt.

För att få fördjupad kunskap om Python tillsammans med dess olika applikationer kan du registrera dig för live med 24/7 support och livstidsåtkomst.