retagged by
484 views
0 votes
0 votes
Time Complexity of

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

by using substitution method
retagged by

1 Answer

1 votes
1 votes

T(n) = 2T(n-1) + n
       = 2(2 * T(n-2) + n-1)  + n
       = 2^2 * T(n-2)  + 2*(n-1) + n
       = 2^2 * (2 * T(n-3) + (n-2) ) + 2 * (n-1) + n
       = 2^3 T(n - 3) + 2^2 (n-2) + 2 * (n-1) + n

Proceeding like this we get.
T(n) = 2^k T(n-k) + 2^(k-1) (n - (k - 1)) + ...... 2^2 * (n-2) + 2*(n-1) + n

Now T(1) = 1 so putting k = n - 1 we get.
T(n) = 2^(n-1) * T(1) + 2^(n-2)* (n - (n - 1 - 1)  + ....... 2^2 * (n-2) + 2*(n-1) + n

T(n) = 2^(n-1) * 1 + 2^(n-2) * 2  + 2^(n-3) * 3  + ........ 2^2 * (n-2) + 2*(n-1) + n

T(n) = $\sum (n - k) * 2^k$  = $\sum n * 2^k$  - $\sum k * 2^k$
k is starting from 0 to n - 1.

T(n) = n $\sum 2^k$  - $\sum k * 2^k$
First series is G.P and second series is slightly complicated..
$\sum 2^k$ = 2^n - 1
$\sum k * 2^k$ = ( n - 2 ) * (2 ^n ) + 2. Prove of this given here

So T(n) = O ( 2^n)

 

Related questions

0 votes
0 votes
1 answer
1
gate_forum asked Jan 13, 2019
491 views
O(n)O(Log n)O(Log log n)none
3 votes
3 votes
1 answer
2
A_i_$_h asked Sep 18, 2017
635 views
a) T(n) = √n T(√n) + nb) T(n) = 4T(n/2) + n2 √(2)
0 votes
0 votes
1 answer
3
Samujjal Das asked Dec 4, 2016
518 views