Ein stabiles Sortierverfahren ist ein Sortieralgorithmus,
der die Reihenfolge der Datensätze, deren Sortierschlüssel gleich sind, bewahrt.
Wenn z.B. eine Liste alphabetisch sortierter Personendateien nach dem Geburtsdatum neu sortiert wird,
dann bleiben unter einem stabilen Sortierverfahren alle Personen
mit gleichem Geburtsdatum alphabetisch sortiert.
Die verschiedenen Algorithmen können unterschiedlich effizient beim Sortieren der Datenmengen sein.
Welches Sortierverfahren im Endeffekt als "bester Sortieralgorithmus" bezeichnet werden kann,
muss immer individuell und situativ entschieden werden.
Zwei Entscheidungsfaktoren bezüglich der Komplexität sind dabei
die Laufzeit und der benötigte Speicherplatz des Algorithmus.
Die Effizienz der Sortieralgorithmen ist in den meisten Fällen vom Ausgangszustand - der Anordnung der Datenmenge zur Zeit der Eingabe - abhängig.
Dabei wird immer zwischen Best Case, Average Case und Worst Case unterschieden.
Beispiel:
Die Liste ist von Beginn an korrekt sortiert.
Hier brauchen die meisten Sortieralgorithmen weniger Zeit zum Sortieren.
Das wäre dann der beste Fall, da der Algorithmus dadurch noch effizienter ist.
Beim Selection Sort Unterteilt man seine Liste in 2 Bereiche:
sortiert (links) und unsortiert (rechts).
Der sortierte Bereich ist zu Beginn leer.
Ablauf:
Setze den Selection Sort in Python um.
Nenne das Programm "selectionsort.py" .
Informiert euch in Gruppen von bis zu 3 Personen über eine der 3 Sortierverfahren. Notiert euch in einem Textdokument:
Stellt das Sortierverfahren vor.
Sortierverfahren:
Wähle einen der drei vorgestellten Algorithmen aus und setze ihn in Python um.
Sortierverfahren: