Wie implementiere ich Bubble Sort in Python?



In diesem Blog lernen Sie den Code und die Erklärung zum Sortieren einer Python-Liste mithilfe der Blasensortierung mithilfe der Swap-Methode.

Sortieren bedeutet, Daten in aufsteigender oder absteigender Reihenfolge nach einer linearen Beziehung zwischen den Elementen anzuordnen. Dieser Artikel über Bubble Sort in wird Ihnen helfen, dieses Konzept im Detail zu verstehen.

In diesem Blog werden die folgenden Themen behandelt:





Was ist Blasensortierung?

Die Blasensorte wird auch als sinkende Sorte bezeichnet. Es ist ein einfacher Sortieralgorithmus, der kontinuierlich durch die zu sortierende Liste geht, jedes Paar benachbarter Elemente vergleicht und sie austauscht, wenn sie nicht in der richtigen Reihenfolge sind. Die Schritte werden wiederholt, bis keine Swaps mehr erforderlich sind. In diesem Fall wird die Liste sortiert.

Schritte zum Durchführen einer Blasensortierung

  • Vergleichen Sie das erste und zweite Element in der Liste und tauschen Sie sie aus, wenn sie in der falschen Reihenfolge sind.
  • Vergleichen Sie das zweite und dritte Element und tauschen Sie sie aus, wenn sie in der falschen Reihenfolge sind.
  • Gehen Sie ähnlich vor, bis das letzte Element der Liste auf ähnliche Weise erreicht ist.
  • Wiederholen Sie alle oben genannten Schritte, bis die Liste sortiert ist.

Die obigen Schritte werden durch die folgenden Visualisierungen deutlicher:



Blasensortierung in Python - Edureka



Blasensortierungsalgorithmus

Betrachten wir nun den Algorithmus hinter Bubble Sort.

Erster Pass:

( 16.19 11, 15, 10) -> ( 16.19 11, 15, 10) - Der Algorithmus vergleicht die ersten beiden Elemente und tauscht seit 19> 16

(16, 19.11 15.10) -> (16, 11.19 15.10) - Tausch seit 19> 11

(16.11, 19.15 10) -> (16,11, 15.19 , 10) - Tausch seit 19> 15

(16,11,15, 19.10 ) -> (16,11,15, 10.19 ) - Da diese Elemente bereits in der richtigen Reihenfolge (19> 10) vorliegen, werden sie vom Algorithmus nicht ausgetauscht.

Zweiter Durchgang:

( 16.11 15,10,19) -> ( 11.16 , 15,10,19) - Swap seit 16> 11

Cloudera zertifizierter Entwickler für Apache Hadoop

( elf, 16.15 10,19) -> (11, 15.16 , 10,19) - Tausch seit 16> 15

(11.15, 16.10 19) -> (11,15, 10.16 , 19) - Tausch seit 16> 10

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

Das ist sortiert, aber unser Algo weiß nicht, ob es abgeschlossen ist. Daher benötigt es einen weiteren ganzen Durchgang ohne Tausch, um zu wissen, dass es sortiert ist.

Dritter Durchgang:

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

( elf, 15.10 16,19) -> (11, 10.15 , 16,19) - Tausch seit 15> 10

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

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

Vierter Durchgang:

( 11.10 15, 16, 19) -> ( 10.11 , 15,16,19) - Swap seit 11> 10

Die endgültige Ausgabe ist (10,11,15,16,19)

Lassen Sie uns dies jetzt codieren -

Python-Programm zur Implementierung der Blasensortierung

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

# Wiederholungsschleife len (a) (Anzahl der Elemente) Anzahl der Male für j im Bereich (len (a)): # anfänglich getauscht ist falsch getauscht = Falsch i = 0, während ia [i + 1]: # tauschen a [i ], a [i + 1] = a [i + 1], a [i] # Ändern des Werts von swapped swapped = True i = i + 1 #wenn swapped falsch ist, wird die Liste sortiert #Wir können die Schleife stoppen wenn getauscht == Falsch: Druck unterbrechen (a)
 AUSGABE: 


Im obigen Code vergleichen wir die benachbarten Zahlen und tauschen sie aus, wenn sie nicht in der richtigen Reihenfolge sind. Wiederholen Sie den gleichen Vorgang len (a) mehrmals. Wir haben eine Variable 'swapped' zugewiesen und sie auf 'True' gesetzt, wenn zwei Elemente in einer Iteration ausgetauscht werden. Und wenn es keinen Austausch von Elementen gibt, ist die Liste bereits sortiert und daher ändert sich der Wert des 'getauschten' nicht und wir können die Schleife durchbrechen.

Damit sind wir am Ende des Blogs mit dem Titel „Implementieren der Blasensortierung in Python“ angelangt. Ich hoffe, dass der Inhalt einen Mehrwert für Ihr Python-Wissen darstellt.

Stellen Sie sicher, dass Sie so viel wie möglich üben und Ihre Erfahrung zurücksetzen.

Hast du eine Frage an uns? Bitte erwähnen Sie es im Kommentarbereich dieses Blogs 'So implementieren Sie die Blasensortierung in Python'. Wir werden uns so schnell wie möglich bei Ihnen melden.

Um detaillierte Informationen zu Python und seinen verschiedenen Anwendungen zu erhalten, können Sie sich live anmelden mit 24/7 Support und lebenslangem Zugriff.