Advertisement

Sortieralgorithmen

  • Ralf Hartmut Güting
  • Stefan Dieker
Chapter
  • 203 Downloads
Part of the Leitfäden der Informatik book series (XLINF)

Zusammenfassung

Das Sortieren einer Menge von Werten über einem geordneten Wertebereich (z.B. int, real, string), das heißt, die Berechnung einer geordneten Folge aus einer ungeordneten Folge dieser Werte, ist ein zentrales und intensiv studiertes algorithmisches Problem. Sortieralgorithmen haben viele direkte Anwendungen in der Praxis, finden aber auch häufig Einsatz als Teilschritte in Algorithmen, die ganz andere Probleme lösen. Zum Beispiel für die Plane-Sweep- und Divide-and-Conquer-Algorithmen in Kapitel 7 ist Sortieren eine wesentliche Voraussetzung.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Literaturhinweise

  1. Ein Kompendium für Sortierverfahren ist das Kapitel 5 des Buches von Knuth [1998]; dort werden auch viele Varianten nicht-optimaler Verfahren (z.B. BubbleSort, Shaker-Sort, ShellSort) eingehend untersucht. Dieses Buch bietet ebenfalls einen Abriß der Geschichte von Sortierverfahren, die bis ins 19. Jahrhundert zurückreicht (Holleriths Sortiermaschinen für Lochkarten). Die ersten Computerprogramme zum Sortieren wurden wohl von John von Neumann 1945 eingesetzt; er benutzte interne Mischsortiertechniken (siehe [Knuth 1998]).Google Scholar
  2. Sortieren durch direktes Einfügen (mit binärer Suche, wie in Aufgabe 6.2) wurde schon von Steinhaus [1958] beschrieben. ShellSort (Aufgabe 6.7) wurde nach seinem Erfinder benannt [Shell 1959]. Merge Sort-Varianten, die in situ sortieren, wurden von Kronrod [1969] und Pardo [1977] entwickelt. Diese Techniken wurden, insbesondere in praktischer Hinsicht, weiter verbessert von Huang und Langston [1988] und von Dvorak und Durian [ 1988 ].Google Scholar
  3. Quicksort stanmit von Hoare [1962], eine detaillierte Studie findet sich in der Dissertation von Sedgewick [1978]. In manchen Anwendungen treten viele gleiche Schlüssel (Duplikate) in einer zu sortierenden Folge auf, deshalb ist man an Sortieralgorithmen interessiert, die dies ausnutzen und möglichst einen “gleitenden” Übergang in ihrer Komplexität vom Spezialfall nur gleicher Schlüssel (O(n)) zum allgemeinen Fall (O(n log n)) erzielen. Derartige Quicksort-Varianten wurden von Wegner [1985] studiert; man kann z.B. erreichen, daß die mittlere Laufzeit bei O(n log N + n) liegt, wobei N die Anzahl verschiedener Schlüssel in der Eingabefolge ist.Google Scholar
  4. Der klassische Heapsort-Algorithmus ist von Williams [1964]; die beschriebene Strategie des Heap-Aufbaus in O(n) Zeit stanmit von Floyd [1964]. Durchschnittsanalysen für Heapsort gelangen Doberkat [1984]. Eine Variante, die Vorsortierung ausnutzt, wurde von Dijkstra [1982] entwickelt, sie braucht nur O(n) Zeit für eine bereits sortierte Folge und O(n log n) für eine beliebige Folge.Google Scholar
  5. Bottum-Up-Heapsort wurde von Wegener [1990a, 1990b] als Verbesserung einer Idee von Carlsson [1987] entwickelt. Carlsson schlug bereits vor, die Bestinmiung des Zielpfades von der Entscheidung zu trennen, an welcher Stelle das einsinkende Element bleiben soll; er verwendet dann binäre Suche auf dem gefundenen Zielpfad, was aber der Bottom-Up-Strategie unterlegen ist.Google Scholar
  6. Die Bestinmiung einer unteren Schranke für allgemeine Sortierverfahren mithilfe eines Entscheidungsbaumes stammt bereits von Ford und Johnson [ 1959 ]. Derartige Techniken zur Bestinmiung unterer Schranken sind inzwischen verallgemeinert worden. So betrachtet Schmitt [1983] rationale Entscheidungsbäume, in denen die Entscheidungen in den Knoten vom Vergleich der Werte rationaler Funktionen über den Schlüsselwerten abhängen können; eine rationale Funktion ist mithilfe der arithmetischen Operationen +, −, *,/aufgebaut. Eine weitere Verallgemeinerung sind algebraische Entscheidungsbäume [Ben Or 1983].Google Scholar
  7. Techniken des Sortierens durch Fachverteilen wie BucketSort und RadixSort werden ebenfalls in [Knuth 1998] behandelt.Google Scholar

Copyright information

© B. G. Teubner Verlag / GWV Fachverlage GmbH, Wiesbaden 2004

Authors and Affiliations

  • Ralf Hartmut Güting
    • 1
  • Stefan Dieker
    • 1
  1. 1.HagenDeutschland

Personalised recommendations