logo

Anàlisi de la complexitat de temps i espai de Merge Sort

El Complexitat temporal de Merge Sort és O(n log n) en tant el mitjana i pitjors casos . La complexitat espacial de Fusiona l'ordenació és O(n) .

Aspecte Complexitat
Complexitat temporal O(n log n)
Complexitat espacial O(n)

Anàlisi de la complexitat temporal de l'ordenació de fusió:

Considereu les terminologies següents:



T(k) = temps necessari per ordenar k elements
M(k) = temps necessari per fusionar k elements

java char a int

Per tant, es pot escriure

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



Aquests elements N/2 es divideixen a més en dues meitats. Tan,

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

Es pot dividir com a màxim fins que quedi un element. Aleshores, N/2k= 1. k = log 2 N



T(N) = N * T(1) + N * log2N * constant
= N + N * log2N

Per tant, la complexitat del temps és O (N * registre 2 N) .

Així, en el millor dels casos, el pitjor i el cas mitjà la complexitat temporal és la mateixa.

Anàlisi de la complexitat espacial de l'ordenació de fusió:

Fusiona l'ordenació complexitat espacial de O(n) . Això es deu al fet que utilitza una matriu auxiliar de mida n per combinar les meitats ordenades de la matriu d'entrada. La matriu auxiliar s'utilitza per emmagatzemar el resultat combinat i la matriu d'entrada se sobreescriu amb el resultat ordenat.