Inhaltsverzeichnis:

Wie wird die Merge-Sort-Komplexität berechnet?
Wie wird die Merge-Sort-Komplexität berechnet?

Video: Wie wird die Merge-Sort-Komplexität berechnet?

Video: Wie wird die Merge-Sort-Komplexität berechnet?
Video: Mergesort Algorithmus [mit Animation, Deutsch] 2024, Dezember
Anonim

2 Antworten. Die Aufspaltung eines Knotens A[L, R] in zwei Knoten dauert R−L+1 Zeit und dann zusammenführen die beiden Kindknoten A[L, M] und A[M+1, R] benötigen wiederum A[R−L+1] Zeit. Somit ist für jeden Knoten die Anzahl der Operationen die Algorithmus ausführt ist gleich der doppelten Größe des Arrays, das diesem Knoten entspricht.

Wie funktioniert die Zusammenführungssortierung?

So verwendet Merge-Sort Divide-and-Conquer:

  1. Dividiere, indem du die Zahl q der Position in der Mitte zwischen p und r findest.
  2. Conquer durch rekursives Sortieren der Subarrays in jedem der beiden Subprobleme, die durch den Divisionsschritt erzeugt wurden.
  3. Kombinieren Sie, indem Sie die beiden sortierten Subarrays wieder zu dem einzigen sortierten Subarray-Array zusammenführen[p..

Was ist auch die große O-Komplexität für Mergesort? Zusammenführen, sortieren ist ein Stall Sortieren Das bedeutet, dass dasselbe Element in einem Array seine ursprünglichen Positionen zueinander behält. Gesamtzeit Komplexität von Zusammenführen, sortieren ist Ö (nLogn). Es ist effizienter, da es im schlimmsten Fall auch die Laufzeit ist Ö (nlogn) Der Raum Komplexität von Zusammenführen, sortieren ist Ö (n).

Was ist die Komplexität der Merge-Sortierung im schlimmsten Fall?

n*log(n)

Wie viele Vergleiche führt Mergesort durch?

Wenn uns die Elemente in einer der Listen ausgehen, legen wir die restlichen Elemente in die letzten Slots der sortiert aufführen. Als Ergebnis, zusammenführen zwei Listen mit insgesamt n Elementen benötigen höchstens n-1 Vergleiche.

Empfohlen: