Datenstrukturen und Algorithmen
Bei Mergesort werden die beiden sortierten Folgen 1, 4, 7, 9 und 2, 3, 8, 10 zu einer zusammengeführt (Merge), indem wiederholt die vordersten Elemente verglichen und das kleinere ausgegeben wird. Ist eine Folge leer, wird der Rest der anderen ohne Vergleich ausgegeben. Wie viele Vergleiche werden durchgeführt?
- A4
- B7
- C8
Antwort und Erläuterung anzeigen
Antwort: B. 7
Verglichen werden 1 mit 2, 4 mit 2, 4 mit 3, 4 mit 8, 7 mit 8, 9 mit 8 und 9 mit 10; danach ist die erste Folge leer, und die verbleibende 10 wird ohne Vergleich ausgegeben. Das sind 7 Vergleiche, das Maximum m + n − 1 = 7 beim Zusammenführen von Folgen der Längen m und n. Ein Merge betrachtet jedes Element der sortierten Folgen nur einmal und kostet daher O(m + n); da Mergesort dies über log₂ n Ebenen wiederholt, benötigt das gesamte Sortieren O(n log n).