







|

Sortieren ist eine der Meistverwendesten Algorithmenart. Viele Programme und
Computer machen oft nichts anderes den lieben ganzen Tag lang als Daten zu sortieren. Wenn sie das Sortieren verstanden haben, wird es Ihnen nicht mehr schwer fallen, andere Algorithmen zu verstehen. Sortieren könnte man sozusagen auch als Basic für Algorithmen bezeichnen.
Einige Typen von Sortieralgorithmen:
- Internes Sortieren
Internes Sortieren findet innerhalb des RAM's (Arbeitsspeicher) statt. Dabei werden
meist Daten an das Programm geschickt und diese werden sortiert wieder ausgegeben.
- Externes Sortieren
Beim externen Sortieren verwenden wir externen Speicherquellen (Festplatte, Streamer, Tape...).
Während des externen Sortieren finden häufig Lese-und-Schreibzugriffe auf externen Quellen
statt. Externes Sortieren wird verwendet, wenn die Daten zum sortieren nicht auf einmal
in den RAM (Arbeitsspeicher) verarbeitet werden können.
- Vergleichendes Sortieren (comparsion sorting)
Dabei wird häufig ein Schlüssel zum Sortieren verwendet. Diese Schlüssel sind oft nur ein
kleiner Teil der Daten, die das Sortieren Steuern.
- Stabiles Sortieren
Man spricht Beispielsweise vom Stabilen Sortieren, wenn man eine Arbeitnehmerliste, die
nach Alphabet sortiert ist, das Gehalt der Liste Sortiert ohne das dabei die Liste
des Alphabet durcheinander gerät.
Wir verwenden in den nächsten Kapiteln Arrays zum Sortieren. Diese sollten sie sich als
Schlüssel einer Datenstruktur vorstellen. Die Funktionen sind so aufgebaut,
dass sie jederzeit mit ein bisschen Tipparbeit anderen Bedürfnissen (Programmen) angepasst werden können.
Primär geht es mir darum Ihnen die einzelnen Sortierverfahren näher zu bringen, speziell
wie diese funktionieren. Wenn sie bis hierher gekommen sind müssten sie sowieso schon in
der Lage sein, den Code anzupassen. Außerdem werden wir am Ende eine kleine Zeitmessung
der einzelnen Sortierverfahren vornehmen, die wie schon einmal erwähnt, aber nicht das
nonplusultra darstellt. Die Implementierung bleibt häufig doch noch Problemabhängig und richtet sich nach der Art von Daten die es zu sortieren gilt.

© 2001,2002 Jürgen Wolf
|