Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 10

Time Complexity of Recursive Algorithms

T(1) = c for n=1 𝑛


T(n)¿ 𝟑 𝑇 ( 2 )+ c n
𝑛
T(n) ¿ 𝟑 𝑇 ( )+cn
( )+ ( )
1 𝑛
2 ¿𝟑𝑇
( )] +cn
22

( ) +cn 𝑛
T(n)¿ 𝟑 𝑇 ( )+ c n
2
( )cn +cn 2 𝑛
¿𝟑𝑇 ( )+ ( )
( )] 23
( )cn+cn
( ) ( )cn+cn
¿𝟑𝟑𝑇 ( ) ( )cn+cn
𝑛
23
3
Time Complexity of Recursive Algorithms

T(1) = c for n=1


𝑛
T(n) ¿ 𝟑 𝑇 ( )+cn 1
2
cn( ) +cn 2

¿𝟑𝟑𝑇 ( ) ( )cn+cn
𝑛
23
3

-------------------------------
-------------------------------
¿𝟑𝒌𝑇 ( )
𝑛
2𝑘
k
Time Complexity of Recursive Algorithms

T(1) = c for n=1


𝑛
T(n) ¿ 𝟑 𝑇 ( )+cn 1
2
cn( ) +cn 2

¿𝟑𝟑𝑇 ( ) ( )cn+cn
𝑛
23
3

-------------------------------
𝟑
------------------------------- ( )𝟎
𝟐
¿𝟑𝒌𝑇 (2𝑘)
𝑛 ( )+ k

¿𝟑𝒌𝑇 (
2𝑘)
𝑛
+ c n( )+]
Time Complexity of Recursive Algorithms

T(1) = c for n=1 𝒂(𝒓𝒏 −𝟏)


=
𝑛 𝒓 −𝟏
T(n) ¿ 𝟑 𝑇 ( )+cn
2 =1
𝟑
r =
¿𝟑𝒌𝑇 ( 𝑛
2𝑘 ) + c n ] 𝟐

¿𝟑𝒌𝑇 (
2𝑘)
𝑛
+ c n ]
𝟏((
𝟑
)𝒌 − 𝟏) 𝟑𝒌 ¿
. −𝟏 ¿
¿𝟑𝒌𝑇 ( )
𝟐
𝑛
2𝑘
+ c . n
(
𝟑
)− 𝟏
¿ 𝟑 𝒌 𝑇 ( 𝑛
2𝑘 )
+ c n𝟐𝒌 𝟏
𝟐 𝟐
¿
¿𝟑𝒌𝑇
𝑛
2𝑘 ( ) .
+ 2 c n𝟑𝒌−𝟐𝒌¿
𝟐𝒌
Time Complexity of Recursive Algorithms

T(1) = c for n=1


𝑛
𝑛 =1
T(n) ¿ 𝟑 𝑇 ( )+ 2𝑘
2
¿ 𝑛=2 𝑘
¿𝟑𝒌𝑇 ( ) 𝑛 .
2𝑘+ 2 c n
𝟑𝒌−𝟐𝒌¿
𝟐𝒌
𝟑 𝒌− 𝒏
¿ 𝟑 𝒌 𝑇 ( )+ 2 c. n
𝑛 ¿ 𝟑 𝒌 𝑇 ( 1+) 2
𝒏
c)
𝑛

. + 2 c 𝟑𝒌−𝟐 c 𝒏 =c
𝑛=2 𝑘
(+2) −𝟐 c 𝒏 𝑙𝑜𝑔 𝑛=𝑙𝑜𝑔 2𝑘
¿ 𝟑 𝒍𝒐𝒈 𝒏 (c + 2 c−𝟐 ) c𝒏 𝑙𝑜𝑔 𝑛=k 𝑙𝑜𝑔 2 2
¿ 𝒏 𝒍𝒐𝒈 𝟑 (c + 2 c−𝟐
) c𝒏 a= k
Time Complexity of Recursive Algorithms

T(1) = c for n=1


𝑛
T(n) ¿ 𝟑 𝑇 ( )+
2

¿ 𝒏 𝒍𝒐𝒈 𝟑 ( c + 2 c−𝟐
) c𝒏
¿ 𝒏𝟏 . 𝟓𝟖 (c + 2 c−𝟐
) c𝒏
¿ ( c + 2 c )𝒏 𝟏. 𝟓𝟖
− 𝟐 c𝒏 O (n1.58)

𝒊𝒈𝒏𝒐𝒓𝒊𝒏𝒈 𝒍𝒆𝒂𝒔𝒕 𝒕𝒆𝒓𝒎𝒔


term
Time Complexity of Recursive Algorithms

Practice Question
T(n) = 4 T( n / 5 ) + n for n > 1
T(n) = 1 for n = 1
Solution

Solve the following recurrence relation by substitution method


T(n) = 4 T( n / 5 ) + n for n > 1
T(n) = 1 for n = 1
Solution:
T( n ) = 4 T( n / 5 ) + n
T(n) = 4 T( n / 5 ) + n
T( n / 5 ) = 4 T( n / 52 ) + n/5
T(n) = 4 [ 4 T( n / 52 ) + n/5 ] + n
T(n) = 42 T( n / 52 ) + (4/5) n + n T( n ) = 4 T( n / 5 ) + n

T(n) = 42 [ 4 T( n / 53 ) + n/ 52 ]+ (4/5) n + n T( n / 52 ) = 4 T( n / 53 ) + n/52

T(n) = 43 T( n / 53 ) + (4/5)2 n + (4/5) n + n


T(n) = 44 T( n / 54 ) + (4/5)3 n + (4/5)2 n + (4/5) n + n
-----------------
T(n) = 4k T( n / 5k ) + (4/5)k-1 n + (4/5)k-2 n + ...... (4/5) n + (4/5)0 n
To get the base condition put n = 5k 1-8
Solution
T(n) = 4k T( n / 5k ) + (4/5)k-1 n + (4/5)k-2 n + ...... (4/5) n + (4/5)0 n
To get the base condition put n = 5k

T(n) = 4k T( n / n ) + (4/5)k-1 n + (4/5)k-2 n + ...... (4/5) n + (4/5)0 n


T(n) = 4k T( 1 ) + (4/5)k-1 n + (4/5)k-2 n + ...... (4/5) n + (4/5)0 n
T(n) = 4k . 1 + (4/5)k-1 n + (4/5)k-2 n + ...... (4/5) n + (4/5)0 n
T(n) = 4k + [ (4/5)k-1 + (4/5)k-2 + ...... (4/5) + (4/5)0 ] n
T(n) = 4k + [ (4/5)0 + (4/5) + (4/5)2 + . . . . + (4/5)k-2 + (4/5)k-1 ] n
As 1 + x + x2 + x3 + . . . . . + xk-1 = (1 – xk / 1 – x )
T(n) = 4k + [1 – (4/5)k / 1 – (4/5) ] n = 4k + n [(1 – 4k/5k)/ 1/5 ]
T(n) = 4k + n [((5k – 4k) / 5k)/ 1/5 ]
T(n) = 4k + 5n [(5k – 4k) / 5k ]
T(n) = 4k + 5n [(n – 4k) / n ]
1-9
Solution

T(n) = 4k + 5n [(n – 4k) / n ] As We have n = 5k


T(n) = 4k + 5 (n – 4k) logb n = logb 5k
T(n) = 4k + 5 n – 5 . 4k logb n = k logb 5 (logb an = n logb a – 3rd law)
T(n) = 1 . 4k + 5 n – 5 . 4k
log5 n = k log5 5 (selecting base=5 )
T(n) = 5 n – 4 . 4k
log5 n = k (log5 5 = 1)
T(n) = 5 n – 4 . 4 log5 n alogb c = clogb a => 4log5 n = nlog5 4
T(n) = 5 n – 4 . n log5 4

T(n) = 5 n – 4 . nα where α = log5 4 and 0 ≤ α ≤ 1


T(n) ε Ө (n)

1-10

You might also like