next up previous contents
Nächste Seite: Threads Aufwärts: Sortierverfahren Vorherige Seite: Sortieren durch Rekursion (Quicksort)   Inhalt

Ausblick und Aufgaben

Die hier vorgestellten Sortieralgorithmen gingen davon aus, dass die Daten in einem (eindimensionalen) Datenarray vorliegen. Dies vereinfachte die Implementierung der Algorithmen. Falls komplexere Datentypen sortiert werden sollen, müssen die vorgestellten Prozeduren verändert werden. Die Algorithmen selbst ändern sich dabei allerdings nicht. Erst bei Daten, die auf externen Datenspeichern vorliegen, müssen andere Verfahren angewendet werden, da es dann im Allgemeinen nicht mehr möglich ist, alle Daten in den Speicher zu laden.

Häufig liegen Datensätze vor, die aus mehreren Datenfeldern zusammengesetzt sind. Beim Sortieren dieser Datensätze werden nur einige Datenfelder berücksichtigt; diese Felder heißen Sortierschlüssel29.

Um die Effizienz von Sortieralgorithmen untersuchen zu können, muss die Zeit bekannt sein, mit der Vergleiche, Austauschvorgänge und das Laden bzw. Speichern von Daten auf (externen) Datenträgern durchgeführt werden. Im Allgemeinen ist ein Vergleich von Daten bedeutend rascher möglich als ein Austauschvorgang, der grundsäztlich über eine weitere Hilfsvariable im ``Dreiertausch'' erfolgen muss. Am zeitaufwändigsten ist meistens das Laden bzw. Speichern von Daten, die auf Festplatte, CD-ROM, Tape oder auf entfernten Rechnern vorliegen.

Ob Daten sortiert oder unsortiert vorliegen hat für Suchalgorithmen eine besondere Bedeutung (vgl. dazu das ``händische'' Suchen von Informationen aus einem Telefonbuch30). Für unsortierte Daten ist lediglich die sequentielle Suche möglich: Vom ersten Element an müssen alle Elemente getestet werden, bis der gewünschte Eintrag gefunden ist31. Sortierte Daten hingegen können binär durchsucht werden: Man testet zunächst das mittlere Element und setzt die Suche in der Hälfte weiter, in der laut Sortierung das gewünschte Element liegen muss. Dieses Verfahren wird rekursiv so lange fortgesetzt, bis das gesuchte Element gefunden ist, oder bis keine weiteren Elemente mehr vorliegen.

  1. Füge in die obigen Beispiele zu den verschiedenen Suchalgorithmen Zähler ein, die alle Vergleiche und alle Tauschvorgänge zählen!

  2. Vergleiche die Verfahren für eine kleine Menge von Zahlen oder Buchstaben indem du sie ``von Hand aus'' auf einem Zettel durchführst!


next up previous contents
Nächste Seite: Threads Aufwärts: Sortierverfahren Vorherige Seite: Sortieren durch Rekursion (Quicksort)   Inhalt
Alfred Nussbaumer 2003-02-10