10.4. Sortieralgorithmen | ![]() |
![]() |
1. Bubblesort 2. Simplesort 3. Selectionsort 4. Insertionsort 5. Shellsort |
6. Quicksort 7. Bucketsort |
Kampf dem Chaos | ![]() |
![]() |
![]() |
![]() |
Das Problemfeld ist schnell umrissen. Gegeben sei ein Array in bester Unordnung. Gesucht ist ein Array in bester Ordnung. Bleibt die Frage: Wie bringt man System in den Datendschungel? Damit wären wir bei einer der grundlegendsten Aufgaben der Informatik überhaupt, nämlich Daten zu sortieren. Man stelle sich einen Zugfahrplan vor, der die Abfahrtszeiten dem Zufall überlässt. Allein ein Wörterbuch würde uns den letzten Nerv rauben, wenn die eingetragenen Begriffe in ungeordneter Reihenfolge vorlägen.
| |
![]() |
Um es gleich vorweg zu schicken, für ein Feld von 25 Elementen benötigt man keinen Sortieralgorithmus. Das erledigt man auf einem Blatt Papier schneller, als der Rechner überhaupt gebootet hat.
Handelt es sich jedoch um Arrays mit mehreren tausend Elementen, dann ist man ohne ausgeklügelte Sortieralgorithmen verloren.
Wir wollen uns in den folgenden Abschnitten die gebräuchlichsten Verfahren anschauen. Die Kette der Sortieralgorithmen ist inzwischen sehr lang, und wer detailierte Informationen benötigt, der sei auf die Seite www.sortieralgorithmen.de verwiesen.
| |
![]() |
Genug der Vorrede:
Grundlage für all unsere Betrachtungen soll ein kleines Konstantenfeld mit 25 Einträgen sein, das wir bereits in der FormCreate-Procedure an ein Variablenfeld übergeben. (Denkbar wäre natürlich auch ein Feld von Zufallszahlen.) Dieses Variablenfeld soll uns dann als
Experimentier-Array für verschiedene Sortieralgorithmen dienen. |
|
|