MergeSort
Aus ProgrammingWiki
Implementation von MergeSort
Quelltext überprüfen:
Ungeordnete Zufallszahlen: |
Geordnete Zufallszahlen: |
MergeSort ist damit auch ein klassischer Teile-und-herrsche-Algorithmus.
Effizienz von MergeSort
Wir wollen auch für MergeSort eine empirische Analyse des Zeitaufwands vornehmen und definieren dazu:
Wenige Tests bestätigen unsere Vermutung: MergeSort scheint ebenso effizient zu sein wie QuickSort.
Die Überprüfung erfolgt wieder mit den bekannten Prozeduren für Mehrfachexperimente sowie den entsprechenden grafischen Darstellungen. Dabei wollen wir auch den Fall einbeziehen, bei dem bereits eine sortierte Zahlenliste vorliegt:
MergeSort: average-case |
MergeSort: worst-case |
Damit bestätigt sich, dass der Zeitaufwand im Average- und Worst-case-Fall $T(n) = \mathcal{O}(n \cdot \log_2 n)$ beträgt.
Zurück zu QuickSort.