Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
29 views

Part 2 - Time Complexity of Recursive Algorithms

The time complexity of a recursive algorithm is analyzed. The recursive relation is T(n) = 4T(n/5) + n for n > 1 and T(1) = 1. Through recursive substitution, the relation is solved to get T(n) = 5n - 4nα, where α is a constant between 0 and 1. Therefore, the overall time complexity is Θ(n).

Uploaded by

f2021266018
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views

Part 2 - Time Complexity of Recursive Algorithms

The time complexity of a recursive algorithm is analyzed. The recursive relation is T(n) = 4T(n/5) + n for n > 1 and T(1) = 1. Through recursive substitution, the relation is solved to get T(n) = 5n - 4nα, where α is a constant between 0 and 1. Therefore, the overall time complexity is Θ(n).

Uploaded by

f2021266018
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 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