logo

Analisi della complessità temporale e spaziale del Merge Sort

IL Complessità temporale di Merge Sort è O(n log n) in entrambi i media E casi peggiori . La complessità spaziale di Unisci ordinamento È SU) .

Aspetto Complessità
Complessità temporale O(n log n)
Complessità spaziale SU)

Analisi della complessità temporale del Merge Sort:

Considera le seguenti terminologie:



T(k) = tempo impiegato per ordinare k elementi
M(k) = tempo impiegato per unire k elementi

come convertire int in stringa

Quindi, può essere scritto

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



Questi N/2 elementi sono ulteriormente divisi in due metà. COSÌ,

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

Può essere diviso al massimo finché non rimane un elemento. Allora N/2K= 1. k = logaritmo 2 N



svuotamento cache npm

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

differenza di date in Excel

Pertanto la complessità temporale è O(N*log 2 N) .

Quindi nel caso migliore, nel caso peggiore e nel caso medio la complessità temporale è la stessa.

Analisi della complessità spaziale dell'ordinamento di unione:

Unisci ordinamento ha un complessità spaziale Di SU) . Questo perché utilizza un array ausiliario di dimensioni N per unire le metà ordinate dell'array di input. L'array ausiliario viene utilizzato per memorizzare il risultato unito e l'array di input viene sovrascritto con il risultato ordinato.