Wolfgang Hönig WS 09/10 Übung Algorithmen und Datenstrukturen Folie Sortieren (2) 1 [Algo] Heapsort 1. Herstellen heap-Eigenschaft (jeder Wurzelknoten muss größeren Wert haben als seine Nachfolger) (Phase 1) a) sinkenlassen für jeden Knoten in einer Ebene / Schritt (von unten nach oben) 2. Sortieren (Phase 2) a) Tausch von Wurzel- und letztem Element b) Abspaltung des letzten Elements c) Sinkenlassen des Wurzelelements 2 Vergleich einiger Sortierverfahren Algorithmus Bubblesort Shakersort Quicksort InsertSort ShellSort Heapsort Mergesort best case average case worst case O(n) O(n2) O(n2) O(n) O(n2) O(n2) O(n log n) O(n log n) O(n2) O(n) O(n2) O(n2) O(n log n) O(n1,2) O(n1,2) O(n log n) O(n log n) O(n log n) O(n log n) O(n log n) O(n log n) ShellSort: bei h(t + 1) = 2h(t) + 1 Mergesort: nicht in-place (out-of-place) stabil rekursiv ja nein ja nein nein ja ja nein nein nein nein nein ja ja