logo

Analýza časové a prostorové složitosti slučovacího řazení

The Časová složitost z Merge Sort je O(n log n) v obou průměrný a nejhorší případy . Prostorová složitost Sloučit třídění je Na) .

Aspekt Složitost
Časová složitost O(n log n)
Vesmírná složitost Na)

Analýza časové složitosti slučovacího řazení:

Zvažte následující terminologii:



T(k) = čas potřebný k seřazení k prvků
M(k) = čas potřebný ke sloučení k prvků

Takže se to dá napsat

T(N) = 2 * T(N/2) + M(N)
= 2 * T(N/2) + konstanta * N



Tyto N/2 prvky se dále dělí na dvě poloviny. Tak,

T(N) = 2 * [2 * T(N/4) + konstanta * N/2] + konstanta * N
= 4 * T(N/4) + 2 * N * konstanta
. . .
= 2k* T(N/2k) + k * N * konstanta

Lze jej maximálně rozdělit, dokud nezbude jeden prvek. Takže, pak N/2k= 1. k = log 2 N



T(N) = N * T(1) + N * log2N * konstantní
= N + N * log2N

Proto je časová složitost O(N * log 2 N) .

Časová náročnost je tedy v nejlepším, nejhorším a průměrném případě stejná.

Analýza prostorové složitosti slučovacího řazení:

Sloučit třídění prostorová složitost z Na) . Je to proto, že používá pomocné pole velikosti n ke sloučení setříděných polovin vstupního pole. Pomocné pole se používá k uložení sloučeného výsledku a vstupní pole se přepíše seřazeným výsledkem.