Implementation (Part 2)
Lektion 6 von 9 im Kurs Insertion Sort - DSA-Serie von Coddy.
Szenario: Sortieren von [5, 2, 9, 1, 5]
Schritt 1: Ausgangszustand
- Ursprüngliches Array: [5, 2, 9, 1, 5]
- Stellen Sie sich dies als unser Blatt Karten (oder ein Array von Zahlen) vor.
Schritt 2: Erstes Element (i=1, key=2)
- Wir beginnen mit der zweiten Karte (Element): key = 2.
- Vergleichen Sie 2 mit 5 (dem bisher einzigen sortierten Element).
- Da 2 kleiner ist, verschieben wir 5 nach rechts und fügen 2 an seiner Stelle ein.
- Aktualisiertes Array: [2, 5, 9, 1, 5]
Schritt 3: Zweites Element (i=2, key=9)
- Gehen Sie zur nächsten Karte über: key = 9.
- Vergleichen Sie 9 mit 5.
- Da 9 größer ist, ist kein Verschieben erforderlich.
- Aktualisiertes Array: [2, 5, 9, 1, 5] (keine Änderung)
Schritt 4: Drittes Element (i=3, key=1)
- Gehen Sie zur nächsten Karte über: key = 1.
- Vergleichen Sie 1 mit 9, dann mit 5.
- Verschieben Sie 9 und 5 nach rechts, um Platz für 1 zu schaffen.
- Aktualisiertes Array: [1, 2, 5, 9, 5]
Schritt 5: Viertes Element (i=4, key=5)
- Gehen Sie zur nächsten Karte über: key = 5.
- Vergleichen Sie 5 mit 9.
- Da 5 kleiner ist, ist kein Verschieben erforderlich.
- Aktualisiertes Array: [1, 2, 5, 9, 5] (keine Änderung)
Schritt 6: Fünftes Element (i=5, key=5)
- Gehen Sie zur letzten Karte über: key = 5.
- Vergleichen Sie 5 mit 9.
- Da 5 kleiner ist, ist kein Verschieben erforderlich.
- Aktualisiertes Array: [1, 2, 5, 5, 9]
Endergebnis:
- Sortiertes Array: [1, 2, 5, 5, 9]
In jedem Schritt wählen wir eine Karte (Element) aus, vergleichen sie mit den sortierten Karten und platzieren sie an der richtigen Stelle, wobei wir andere bei Bedarf verschieben. Wir wiederholen diesen Vorgang, bis das gesamte Array sortiert ist.
Aufgabe
EinfachImplementiere nun die innere Schleife, die die Sortierung für jedes Element durchführt.
Vervollständige die Sortierung innerhalb der Funktion insertionSort.
Die Funktion sollte am Ende auch die Elemente des Arrays einzeln ausgeben, jeweils getrennt durch eine neue Zeile.
Nutze die vorherigen Lektionen und den Hinweis als Referenz :)
Probier es selbst
def insertionSort(arr):
for i in range(1, len(arr)):
key = arr[i]
print(key)
Alle Lektionen in Insertion Sort - DSA-Serie
2The Algorithm
How it works?Pseudo CodeImplementation (Part 1)Implementation (Part 2)