MergeSort

Der MergeSort ist ein Teile-und-Hersche Algorithmus. Er teilt die Datenmenge in kleinere Teilmengen auf, bis diese jeweils nur aus einem Element bestehen. Anschliessend fügt er diese zusammen, in dem er die Elemente zweier Teilmengen in der richtigen Ordnung zu einer Menge ``mischt''.

Dem MergeSort wird nachgesagt, daß er gegenüber dem QuickSort zusätzlichen Speicher benötigt, und dadurch schlechtere Performance erzielt. Dies ist auch tatschächlich der Fall. Allerdings kann man mit ein bisschen Aufwand auch eine ``in-place'' Variante relasieren. Der grosse Vorteil des Algorithmus ist, daß er auch im worst case eine Laufzeit von $O(n \times log_2 n)$ erzielt. Hat man also genügend Speicher zur Verfügung, so ist die Wahl des MergeSort eine gute Sache.

Der MergeSort eignet geradezu perfekt dafür auf ``verketteten Listen'' zu arbeiten. Da sich aber die Implementierung auf Arrays schwieriger gestalltet, soll hier der Schwerpunkt auf solchen Datenstrukturen liegen.



Unterabschnitte
Nächste Seite  Aufwärts  Vorherige Seite  Inhalt 


Nächste Seite: Mischen Aufwärts: Sortieren Vorherige Seite: Optimierung   Inhalt

2002-05-09