WISSENSARTIKEL / COMPUTER & HARDWARE

Merge Sort

Ein effizienter, stabiler Sortieralgorithmus basierend auf dem Teile-und-Herrsche-Prinzip

◎ KURZDEFINITION

Merge Sort Merge Sort ist ein stabiler, vergleichsbasierter Sortieralgorithmus, der eine Liste rekursiv in kleinere Teilmengen zerlegt, diese sortiert und anschließend zu einer vollständig sortierten Liste zusammenführt.

Eigenständig verständliche Definition
✦

Das Wichtigste auf einen Blick

  • Merge Sort ist ein stabiler Sortieralgorithmus mit garantierter Laufzeit von O(n log n).
  • Der Algorithmus basiert auf dem Prinzip des Teile-und-Herrsche.
  • Er teilt die Liste rekursiv in zwei Hälften, sortiert diese und führt sie zusammen.
  • Merge Sort benötigt zusätzlichen Speicherplatz für das Zusammenführen.
  • Der Algorithmus ist besonders effizient bei großen Datenmengen und bei Daten, die auf externen Speichern liegen.
  • Im Gegensatz zu Quick Sort ist Merge Sort nicht in-place, benötigt also mehr Speicher.
  • Merge Sort kann sowohl iterativ als auch rekursiv implementiert werden.
01

Überblick: Merge Sort

Merge Sort zählt zu den klassischen Sortieralgorithmen in der Informatik. Er nutzt das Prinzip des 'Teile und Herrsche', indem er eine unsortierte Liste wiederholt in kleinere Teilmengen aufteilt, diese sortiert und anschließend wieder zusammenführt. Aufgrund seiner stabilen Sortierung und seiner garantierten Laufzeit von O(n log n) ist Merge Sort besonders für große Datenmengen geeignet und wird häufig in der Praxis eingesetzt.

02

Was ist Merge Sort?

Merge Sort ist ein stabiler, vergleichsbasierter Sortieralgorithmus, der eine Liste oder ein Array in kleinere Teilmengen zerlegt, diese sortiert und anschließend zu einer sortierten Gesamtliste zusammenführt. Er wurde von John von Neumann 1945 entwickelt und zeichnet sich durch seine garantierte Laufzeit von O(n log n) aus.

03

Funktionsweise von Merge Sort

Merge Sort arbeitet nach dem Prinzip des Teile-und-Herrsche. Die Eingabeliste wird rekursiv in zwei Hälften geteilt, bis die Teilmengen nur noch ein Element enthalten (diese sind per Definition sortiert). Anschließend werden die Teilmengen paarweise zusammengeführt (gemerged), wobei die Elemente beim Merge-Schritt in sortierter Reihenfolge kombiniert werden.

04

Schritte des Merge Sort Algorithmus

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

Beispiel für Merge Sort

✦

Gegeben sei die unsortierte Liste [38, 27, 43, 3, 9, 82, 10]. Merge Sort teilt die Liste und sortiert die Teilmengen rekursiv, bis die gesamte Liste sortiert ist: [3, 9, 10, 27, 38, 43, 82].

06

Vor- und Nachteile von Merge Sort

VorteileNachteile
Stabile SortierungHoher Speicherbedarf (O(n))
Garantierte Laufzeit O(n log n)Nicht in-place, daher mehr Speicherverbrauch
Gut geeignet für große DatenmengenRekursions-Overhead
07

Anwendungsgebiete von Merge Sort

Merge Sort wird häufig eingesetzt bei der Sortierung großer Datenmengen, insbesondere wenn Stabilität wichtig ist oder die Daten extern (z.B. auf Festplatten) gespeichert sind. Auch in verteilten Systemen und bei paralleler Verarbeitung findet Merge Sort Anwendung.

08

Vergleich mit anderen Sortieralgorithmen

Im Vergleich zu Quick Sort ist Merge Sort stabil und garantiert O(n log n) Laufzeit, benötigt aber mehr Speicher. Im Vergleich zu Insertion Sort ist Merge Sort bei großen Datenmengen deutlich effizienter.

09

Wichtig zu wissen

✦

Merge Sort ist besonders dann sinnvoll, wenn Stabilität und garantierte Laufzeit wichtiger sind als Speicherverbrauch. Für kleine Datenmengen oder wenn Speicher knapp ist, können andere Algorithmen effizienter sein.

◇

Zusatzinformationen

◇

Algorithmus: Merge Sort

Algorithmustyp: Vergleichsbasierter Sortieralgorithmus

Stabilität: Stabil

Komplexität (Best Case): O(n log n)

Komplexität (Average Case): O(n log n)

Komplexität (Worst Case): O(n log n)

Speicherbedarf: O(n)

Grundprinzip: Teile und Herrsche (Divide and Conquer)

Typische Anwendung: Sortierung großer Datenmengen, externe Sortierung

Aa

Synonyme und alternative Bezeichnungen

?

Häufige Fragen zu Merge Sort

Was bedeutet, dass Merge Sort stabil ist?

Ein Sortieralgorithmus ist stabil, wenn er die Reihenfolge von Elementen mit gleichem Schlüsselwert beibehält. Merge Sort garantiert diese Stabilität.

Wie hoch ist die Laufzeit von Merge Sort?

Die Laufzeit von Merge Sort liegt im besten, durchschnittlichen und schlechtesten Fall bei O(n log n).

Benötigt Merge Sort zusätzlichen Speicher?

Ja, Merge Sort benötigt zusätzlichen Speicherplatz proportional zur Größe der Eingabeliste, also O(n), da die Teilmengen beim Zusammenführen kopiert werden.

Kann Merge Sort in-place durchgeführt werden?

Standardmäßig ist Merge Sort nicht in-place, da es zusätzlichen Speicher benötigt. Es gibt jedoch komplexere Varianten, die versuchen, Merge Sort in-place zu realisieren, diese sind aber weniger gebräuchlich.

Wann ist Merge Sort besonders sinnvoll einzusetzen?

Merge Sort ist besonders sinnvoll bei großen Datenmengen, wenn Stabilität wichtig ist oder wenn Daten extern gespeichert sind, z.B. auf Festplatten.

Wie funktioniert der Merge-Schritt bei Merge Sort?

Im Merge-Schritt werden zwei bereits sortierte Teilmengen durch Vergleich der jeweils kleinsten Elemente zusammengeführt, sodass eine größere sortierte Liste entsteht.

Wer hat Merge Sort entwickelt?

Merge Sort wurde 1945 von John von Neumann entwickelt.

▤

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 Merge Sort.

    https://mitpress.mit.edu/books/introduction-algorithms
  2. 02
    Algorithm Design Manual ↗
    Springer· Steven S. Skiena· BuchKI-Vorschlag · ungeprüft

    Umfassende Darstellung von Sortieralgorithmen einschließlich Merge Sort.

    https://www.algorist.com/
  3. 03
    Wikipedia: Merge Sort ↗
    Wikipedia· Gemeinschaft der Wikipedia-Autoren· Online-EnzyklopädieKI-Vorschlag · ungeprüft

    Übersichtlicher Artikel mit Beschreibung und Analyse von Merge Sort.

    https://de.wikipedia.org/wiki/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.