Hoe Bubble Sort in Python te implementeren?



In deze blog leer je de code en uitleg van het sorteren van een Python-lijst met behulp van bellen sorteren met behulp van de ruilmethode.

Sorteren betekent het rangschikken van gegevens in oplopende of aflopende volgorde volgens een of andere lineaire relatie tussen de elementen. Dit artikel over Bubble Sort in zal u helpen dit concept in detail te begrijpen.

In deze blog behandelen we de onderstaande onderwerpen:





Wat is bellen sorteren?

Bubble sort is ook bekend als zinkende sortering. Het is een eenvoudig sorteeralgoritme dat continu door de lijst stapt die moet worden gesorteerd, waarbij elk paar aangrenzende items wordt vergeleken en ze worden verwisseld als ze niet in de juiste volgorde staan. De stappen worden herhaald totdat er geen swaps meer nodig zijn, en dat is wanneer de lijst wordt gesorteerd.

Stappen voor het uitvoeren van een bellen sorteren

  • Vergelijk het eerste en tweede element in de lijst en wissel ze om als ze in de verkeerde volgorde staan.
  • Vergelijk het tweede en derde element en verwissel ze als ze in de verkeerde volgorde staan.
  • Ga op dezelfde manier door tot het laatste element van de lijst op dezelfde manier.
  • Blijf alle bovenstaande stappen herhalen totdat de lijst is gesorteerd.

De bovenstaande stappen zullen duidelijker worden door de volgende visualisaties -



Bellen sorteren in Python - Edureka



Bubble Sort-algoritme

Laten we nu eens kijken naar het algoritme achter Bubble Sort.

Eerste Paas:

hoe u het Java-programma kunt beëindigen

( 16.19 11,15,10) -> ( 16.19 11,15,10) - Het algoritme vergelijkt de eerste twee elementen en swaps sinds 19> 16

(16, 19.11 , 15.10) -> (16, 11.19 , 15.10) - Wisselen sinds 19> 11

(16.11, 19.15 , 10) -> (16,11, 15.19 , 10) - Ruil sinds 19> 15

(16,11,15, 19.10 ) -> (16,11,15, 10.19 ) - Nu, aangezien deze elementen al in de juiste volgorde staan ​​(19> 10), wisselt het algoritme ze niet om.

Tweede doorgang:

( 16.11 , 15,10,19) -> ( 11.16 , 15,10,19) - Ruil sinds 16> 11

(elf, 16.15 , 10.19) -> (11, 15.16 , 10,19) - Ruil sinds 16> 15

(11.15 uur, 16.10 , 19) -> (11,15, 10.16 , 19) - Ruil sinds 16> 10

hoe het programma in java te beëindigen

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

De wordt gesorteerd, maar onze algo weet niet of het voltooid is. Daarom heeft het nog een hele doorgang nodig zonder enige ruil om te weten dat het is gesorteerd.

Derde pas:

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

(elf, 15.10 , 16,19) -> (11, 10.15 , 16,19) - Ruil sinds 15> 10

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

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

Vierde pas:

kun je uitbreiden en implementeren in java

( 11.10 , 15,16,19) -> ( 10.11 , 15,16,19) - Ruil sinds 11> 10

De uiteindelijke output is (10,11,15,16,19)

Laten we dit nu coderen -

Python-programma om Bubble Sort te implementeren

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

#herhalingslus len (a) (aantal elementen) aantal keren voor j in bereik (len (a)): #initieel verwisseld is onwaar swapped = False i = 0 terwijl ia [i + 1]: #swapping a [i ], a [i + 1] = a [i + 1], a [i] #De waarde van swapped swapped = True i = i + 1 wijzigen # als swapped false is, dan is de lijst gesorteerd #we kunnen de lus stoppen if swapped == False: break print (a)
 UITGANG: 


In de bovenstaande code vergelijken we de aangrenzende nummers en wisselen ze om als ze niet in de juiste volgorde staan. Herhaal hetzelfde proces len (a) aantal keren. We hebben een variabele ‘verwisseld’ toegewezen en deze ‘Waar’ gemaakt als twee elementen in een iteratie worden verwisseld. En als er geen uitwisseling van elementen is, dan is de lijst al gesorteerd en is er dus geen verandering in de waarde van de ‘swapped’ en kunnen we de lus doorbreken.

Hiermee komen we aan het einde van de blog met de titel 'Hoe Bubble Sort in Python te implementeren'. Ik hoop dat de inhoud een toegevoegde waarde heeft voor je Python-kennis.

Zorg ervoor dat je zoveel mogelijk oefent en terugkeert naar je ervaring.

Heeft u een vraag voor ons? Vermeld het alstublieft in de commentarensectie van deze 'Hoe Bubble Sort in Python te implementeren' blog en we nemen zo snel mogelijk contact met u op.

Om diepgaande kennis op te doen over Python en de verschillende applicaties, kunt u zich live inschrijven met 24/7 ondersteuning en levenslange toegang.