WISSENSARTIKEL / COMPUTER & HARDWARE

Mergesort – Ein effizienter Vergleichsbasierter Sortieralgorithmus

Algorithmus zur effizienten Sortierung von Daten durch Teilen und Zusammenführen

◎ KURZDEFINITION

Mergesort Mergesort ist ein stabiler, vergleichsbasierter Sortieralgorithmus, der eine Liste durch rekursives Teilen in kleinere Teilmengen zerlegt, diese sortiert und anschließend zusammenführt.

Eigenständig verständliche Definition
✦

Das Wichtigste auf einen Blick

  • Mergesort ist ein stabiler Sortieralgorithmus mit garantierter Laufzeit von O(n log n).
  • Er arbeitet nach dem Prinzip „Teile und Herrsche“ durch rekursive Zerlegung der Liste.
  • Die Zusammenführung (Merge) sortierter Teilmengen ist der Kernschritt des Algorithmus.
  • Mergesort benötigt zusätzlichen Speicherplatz für die Zwischenspeicherung der Teillisten.
  • Der Algorithmus ist besonders effizient bei großen Datenmengen oder verteilten Systemen.
  • Mergesort ist weniger speichereffizient als In-Place-Sortierverfahren wie Quicksort.
  • Er wird häufig in der Praxis eingesetzt, insbesondere bei externem Sortieren großer Daten.
01

Überblick: Mergesort

Mergesort gehört zu den grundlegenden Sortieralgorithmen in der Informatik und zeichnet sich durch seine Effizienz und Stabilität aus. Er basiert auf dem Prinzip „Teile und Herrsche“ und ist besonders geeignet für große Datenmengen. Im Gegensatz zu einfachen Sortierverfahren wie Bubble Sort oder Insertion Sort garantiert Mergesort eine Laufzeit von O(n log n) im schlechtesten Fall. Dies macht ihn zu einer verlässlichen Wahl für Anwendungen, bei denen Leistung und Stabilität entscheidend sind.

02

Grundprinzip von Mergesort

Mergesort basiert auf dem Prinzip „Teile und Herrsche“. Die Eingabeliste wird rekursiv in zwei Hälften geteilt, bis die Teilmengen nur noch ein Element enthalten. Diese einzelnen Elemente gelten als sortiert. Anschließend werden die Teilmengen paarweise zusammengeführt (Merge), wobei die Elemente in sortierter Reihenfolge kombiniert werden.

03

Was ist Mergesort?

Mergesort ist ein stabiler, vergleichsbasierter Sortieralgorithmus, der eine Liste durch rekursive Zerlegung in kleinere Teilmengen sortiert und diese anschließend zusammenführt. Er garantiert eine Laufzeit von O(n log n) und benötigt zusätzlichen Speicherplatz für die Zwischenspeicherung.

04

Ablauf des Mergesort-Algorithmus

SchrittBeschreibung
1. TeilenDie Liste wird in zwei Hälften geteilt.
2. SortierenJede Hälfte wird rekursiv mit Mergesort sortiert.
3. ZusammenführenDie zwei sortierten Hälften werden zu einer sortierten Gesamtliste zusammengeführt.
05

Beispiel einer Mergesort-Sortierung

✦

Gegeben sei die Liste [38, 27, 43, 3, 9, 82, 10]. Mergesort teilt diese rekursiv in kleinere Listen, sortiert und führt sie zusammen:

06

Zeit- und Speicherkomplexität von Mergesort im Vergleich

AlgorithmusBeste ZeitDurchschnittliche ZeitSchlechteste ZeitSpeicherbedarfStabilität
MergesortO(n log n)O(n log n)O(n log n)O(n)Stabil
QuicksortO(n log n)O(n log n)O(n²)O(log n)Nicht stabil
Insertion SortO(n)O(n²)O(n²)O(1)Stabil
07

Vor- und Nachteile von Mergesort

VorteileNachteile
Garantierte Laufzeit von O(n log n)Benötigt zusätzlichen Speicherplatz
Stabilität gewährleistetNicht In-Place, daher höherer Speicherverbrauch
Gut geeignet für externe SortierungRekursive Implementierung kann Stack-Speicher beanspruchen
08

Einsatzgebiete von Mergesort

✦

Mergesort wird bevorzugt eingesetzt, wenn Stabilität wichtig ist oder große Datenmengen sortiert werden müssen, die nicht komplett in den Hauptspeicher passen. Auch in verteilten Systemen und bei externen Sortierverfahren ist Mergesort eine bewährte Wahl.

09

Optimierungen und Varianten

Es gibt verschiedene Varianten von Mergesort, wie den Bottom-Up-Mergesort, der iterativ arbeitet, oder optimierte Versionen, die bei kleinen Teilmengen auf Insertion Sort zurückgreifen, um die Laufzeit weiter zu verbessern.

10

Vergleich zu anderen Sortieralgorithmen

Im Vergleich zu Quicksort ist Mergesort stabiler und bietet eine garantierte Laufzeit, benötigt aber mehr Speicher. Insertion Sort ist für kleine Listen effizienter, skaliert aber bei großen Datenmengen schlecht.

◇

Zusatzinformationen

◇

Algorithmus: Mergesort

Algorithmustyp: Vergleichsbasierter Sortieralgorithmus

Prinzip: Teile und Herrsche (Divide and Conquer)

Stabilität: Stabil

Zeitkomplexität: O(n log n) im besten, durchschnittlichen und schlechtesten Fall

Platzkomplexität: O(n) zusätzlicher Speicher

Anwendungsgebiete: Sortierung großer Datenmengen, externe Sortierung, stabile Sortierungen

Aa

Synonyme und alternative Bezeichnungen

?

Häufige Fragen zu Mergesort

Was macht Mergesort besonders im Vergleich zu anderen Sortieralgorithmen?

Mergesort garantiert eine Laufzeit von O(n log n) im schlechtesten Fall und ist stabil, was bedeutet, dass die Reihenfolge gleichwertiger Elemente erhalten bleibt.

Warum benötigt Mergesort zusätzlichen Speicherplatz?

Weil Mergesort beim Zusammenführen der Teilmengen temporäre Arrays verwendet, um die Elemente zu speichern und sortiert zusammenzuführen.

Ist Mergesort immer die beste Wahl zum Sortieren?

Nicht immer. Für kleine Datenmengen oder wenn Speicher begrenzt ist, können andere Algorithmen wie Insertion Sort oder Quicksort besser geeignet sein.

Wie funktioniert das Zusammenführen (Merge) bei Mergesort?

Zwei bereits sortierte Teilmengen werden elementweise verglichen und in aufsteigender Reihenfolge in ein neues Array kopiert, bis alle Elemente verarbeitet sind.

Kann Mergesort auch iterativ implementiert werden?

Ja, es gibt eine Bottom-Up-Variante von Mergesort, die iterativ arbeitet und keine Rekursion verwendet.

Ist Mergesort für externe Sortierung geeignet?

Ja, Mergesort ist besonders gut für externe Sortierung geeignet, da es große Datenmengen verarbeitet, die nicht vollständig im Hauptspeicher liegen.

Was bedeutet die Stabilität eines Sortieralgorithmus?

Stabilität bedeutet, dass Elemente mit gleichem Wert ihre ursprüngliche Reihenfolge nach der Sortierung behalten.

▤

Quellen & weiterführende Informationen

Quellenvorschläge und Nachweise zum Artikel. Bitte externe Inhalte eigenständig prüfen.

3 Quellen
  1. 01
    Introduction to Algorithms ↗
    MIT Press· Thomas H. Cormen et al.· BuchKI-Vorschlag · ungeprüft

    Standardwerk zur Algorithmik mit ausführlicher Beschreibung von Mergesort

    https://mitpress.mit.edu/books/introduction-algorithms
  2. 02
    Algorithms, Part I ↗
    Princeton University· Robert Sedgewick, Kevin Wayne· Online-KursKI-Vorschlag · ungeprüft

    Lehrmaterial mit Implementierungen und Erklärungen zu Mergesort

    https://algs4.cs.princeton.edu/home/
  3. 03
    Sorting Algorithms ↗
    GeeksforGeeks· GeeksforGeeks Contributors· Online-ArtikelKI-Vorschlag · ungeprüft

    Praktische Erläuterungen und Codebeispiele zu Mergesort

    https://www.geeksforgeeks.org/merge-sort/

Artikel teilen oder einbetten

Teile diesen Wissensartikel oder binde eine kompakte Vorschau auf deiner eigenen Website ein.

f Facebookin LinkedIn𝕏 X◉ WhatsApp
War dieser Artikel hilfreich?Dein Feedback hilft, die Wissensplattform zu verbessern.
ANSWER ENGINE · ARTIKEL

Diese Seite in Zahlen

Artikelstatistik
↗–Aufrufe dieses Artikels
◷–Unique Nutzer letzte 24 Stunden
◉–Unique Nutzer heute
▦–Unique Nutzer diesen Monat
Feedback zu diesem Artikel
👍 Ja
0
◐ Teilweise
0
👎 Nein
0

Alle Werte in diesem Abschnitt beziehen sich ausschließlich auf diesen Artikel.

ANSWER ENGINE · GESAMTES NETZWERK

Wissensplattform in Zahlen

Netzwerkstatistik
↗–Seitenaufrufe gesamt
◷–Unique Nutzer letzte 24 Stunden
◉–Unique Nutzer heute
▦–Unique Nutzer diesen Monat

Diese Werte beziehen sich auf die gesamte Plattform und alle veröffentlichten Artikel.