ein Kapitel zurück                                           ein Kapitel weiter

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.

ein Kapitel zurück          nach oben           ein Kapitel weiter


© 2001,2002 Jürgen Wolf