Lernabschnitt
Warum Sortieren? Grundlagen & Komplexität
Sortieren ist eines der fundamentalsten Probleme der Informatik — und der perfekte Einstieg, um Laufzeitkomplexität zu verstehen.
Quelle: Demo-Inhalt (kein echtes Vorlesungsmaterial)
Das Sortierproblem
Gegeben ist eine Folge von Elementen. Gesucht ist eine Anordnung, in der die Elemente aufsteigend (oder absteigend) sortiert sind.
Vergleichsbasierte Verfahren dürfen nur eine Operation nutzen: den Vergleich zweier Elemente. Daraus folgt eine wichtige untere Schranke: Kein vergleichsbasiertes Verfahren kann schneller sein als im Worst Case.
Bubble Sort
Bubble Sort läuft wiederholt durch die Liste und vertauscht benachbarte Elemente, wenn sie in der falschen Reihenfolge stehen. Große Elemente „blubbern" so ans Ende.
| Fall | Laufzeit |
|---|---|
| Best Case (schon sortiert) | |
| Average Case | |
| Worst Case (umgekehrt sortiert) |
Die quadratische Laufzeit entsteht, weil im schlimmsten Fall jeder der Durchläufe bis zu Vergleiche braucht:
Merksatz
Bubble Sort ist stabil und in-place, aber mit für große Datenmengen ungeeignet.