QNA > H > How To Get An Upper Bound For T(N) = T(N/2) + N

How to get an upper bound for T(n) = T(n/2) + n

Yes your guess is Correct. Its O(n) only. And is the stepwise explanation of the substitution method.

We are a recurrence relation as :-

T(n) = T(n/2) + n

Now solving this through substitution method-

T(n) = T(n/2) +n

T(n) = T(n/2^2) +n/2 + n

T(n) = T(n/2^3) + n/2^2 + n/2 + n

.

.

. k times repeating, we get

T(n) = Tn/2^k + n/2^k-1 n/2^k-2 + …….. + n/2 + n

log(n) times repeating…

T(n) = T(n/2^logn) + n/2^logn-1 + n/2^logn-2 +………+ n/2 + n

Since T(n/2^logn) = T(n/n) {property of log}

T(n/n) = 1; therefore our function becomes:-

T(n) = 1+ n/2^logn-1 + n/2^logn-2 +…………..+ n/2 + n

We can write in reverse order as:-

T(n) = n + n/2 + n/2^2 + ……………… + n/2^logn-1 +1

Taking n common from all the terms, we get:-

T(n) = n(1 + 1/2 + 1/2^2 +………………………+ n/2^logn-1) + 1

Here we get a Decreasing G.P. con rapporto 1/2 e il numero totale di termini è logn, quindi usando la formula della somma di n termini di G.P. otterremo:-

T(n) = n((1 - 1/2^logn)/1-1/2) + 1

T(n) + n((1 - 1/n)/ 1/2) { poiché 2^logn è uguale a n}

Siccome 1/n si avvicina a 0, quindi ignorandolo, otteniamo

T(n) = n/(1/2) +1

T(n) = 2n +1

T(n) = O(n) {nelle notazioni asintotiche ignoriamo le costanti}

Nota: Ci sono altri metodi per risolvere come il teorema di Master. Ma funziona solo in alcuni casi speciali e in altri casi dà risposte sbagliate. Perciò raccomando di usare solo il metodo di sostituzione.

Di Gaspar

Qual è la qualità audio dell'AKG N90Q? :: Come segnare 700+ nel NEET 2020
Link utili