Mergesort
Fakten
1945 von John von Neumann erfunden
Stabiles Sortierverfahren
Best- und Worst-Case Performance O (n*log(n))
Nutzen des Teile-und-Herrsche-Algorithmus
Verfahren:
Falls nur ein Element in der Liste ist, gebe die Liste zurück
Teile die unsortierte Liste rekursiv in 2 gleich große Teillisten (so genannte runs) bis die Liste nicht mehr geteilt werden kann
Füge die kleinen Listen in geordneter Reihenfolge zusammen bis nur eine sortierte Liste übrig bleibt
Effektiver Nutzen:
Datenstrukturen ohne direkten Zugriff auf Elemente (verkettete Listen)
Externes Sortieren , wenn RAM zu klein ist
Ableitung Timsort (von Mergesort und Insertionsort): Erkenne schon sortierte Teile der Liste und erstelle daraus die Teillisten --> Best-Case Performance O (n)
spli
tlef
t
merg
e
merg
e
spli
trig
ht
merg
e
spli
trig
ht
merg
e
spli
tlef
t
merg
e
spli
tlef
t
spli
trig
ht
merg
e
List
ListLeft
ListRight
ElementLeftRight
ElementLeftLeft
ElementRightLeft
ElementRightRight
ListLeftSorted
ListRightSorted
ListSorted