Professional Documents
Culture Documents
• Quick Sort Worst case: pivot is smallest/largest element all the time.
T(n) = T(n-1) + cn
T(n-1) = T(n-2) + c(n-1)
T(n-2) = T(n-3) + c(n-2)
…
T(n-k) = T(n-k-1) + c(n-k)
i =1
Substitution Method
Solve the recurrence relation given below.
1 if n = 1
T ( n) = n
3 T ( 4 ) + n otherwise
Solution:
n
(1) T (n) = 3 T ( ) + n
4
n n n
(2) T ( ) = 3 T ( 2 ) +
4 4 4
n n n
(3) T ( 2 ) = 3 T ( 3 ) + 2 and so on
4 4 4
19
n n n
(4) T ( k −1 ) = 3 T ( k ) + k −1
4 4 4
Substitution Method
n
Now substitute the value of T ( ) from (2) to (1)
4
n n
(5) T (n) = 33T ( 2 ) + + n
4 4
n 3
= 3 T ( 2 ) + ( ) n + n
2
4 4
n
substitute the value of T ( 2 ) from (3) to (5) equation, we have
4
n n 3
T (n) = 3 3 T ( 3 ) + 2 + ( )n + n
2
4 4 4
n 3 k −1 3 k −2 3 3 0
T ( n) = 3 T ( k ) + ( ) n + ( ) + + ( ) n + ( ) n
k
4 4 4 4 4
Let us suppose that : n = 4 k log 4 n = k 20
n 3 3 2 3 k −1
T (n) = 3 T ( ) + n 1 + ( ) + ( ) + .... + ( )
k
n 4 4 4
Substitution Method
n 3 3 2 3 k −1
T (n) = 3 T ( ) + n 1 + ( ) + ( ) + .... + ( )
k
n 4 4 4
3 k
1 − ( )
4 k −1 1− xk
T ( n) = 3 T (1) + n 1 (
k
) 1 + x + x + ... + x
2
= 1 ( )
3 1− x
1−
4
3k
T (n) = 3 1 + 4n(1 − k )
k
T (1) = 1
4
3 k
3 n −
k
3 k
T (n) = 3 + 4n (1 − k ) = 3 + 4n (1 − ) = 3 k + 4n(
k k
)
4 n n
= 3 k + 4( n − 3 k ) = 1 3k + 4 n − 4 3k
= 4 n − 33 k
= 4n − 3 3 log n
4 21
23
Recursion Tree Method
Example:
Solve the following recurrence using recurrence tree method
(1) if n = 1
T ( n) =
n
3.T ( ) + (n 2 ) if otherwise
4
Solution: The above recurrence can be written in the form
1 if n = 1
T ( n) =
n
3.T ( ) + cn 2 if otherwise
4
Assumption: We assume that n is exact power of 4.
24
The recurrence tree is given in the next slide
Recursion Tree Method
c.n 22
c.n
T(n) 22
T(n)==3.T(n/4)+c.n
3.T(n/4)+c.n
T(n/4)
T(n/4) T(n/4)
T(n/4) T(n/4)
T(n/4)
c.n 22
c.n
c.(n/4)2 2
c.(n/4) 2
c.(n/4)2 c.(n/4)2 c.(n/4)
c.(n/4)2
25
T(n/16)
T(n/16)T(n/16)
T(n/16)T(n/16)
T(n/16) T(n/16)
T(n/16)T(n/16)
T(n/16)T(n/16)
T(n/16) T(n/16)
T(n/16)T(n/16)
T(n/16)T(n/16)
T(n/16)
Recursion Tree Method
c.n2 c.n2
Suppose n=4k
2
c(n/16)2 c(n/16)2 c(n/16)2 c(n/16)2 c(n/16)2 c(n/16)2 c(n/16)2 c(n/16)2 c(n/16)
(3/16)2.c.n2
26
T(n/4k) T(n/4k) T(n/4k) T(n/4k) T(n/4k) T(n/4k) T(n/4k) T(n/4k)
Recursion Tree Method
c.n2 c.n2
Suppose n = 4k
2 2 2 2 2
c(n/16)2 c(n/16)2 c(n/16) c(n/16)2 c(n/16)2 c(n/16) c(n/16) c(n/16) c(n/16)
(3/16)2.c.n2
(3/42)k-1 cn2
k k k k k k k k 27
T(n/4 ) T(n/4 ) T(n/4 ) T(n/4 ) T(n/4 ) T(n/4 ) T(n/4 ) T(n/4 )
(nlog43)
T(1) T(1) T(1) T(1) T(1) T(1) T(1) T(1) T(1) T(1) T(1) T(1)
Recursion Tree Method
Total computation cost = Cost of Children
+ Cost of tree excluding children
= Cost of Child x total number of Children
+ Cost of all levels excluding children level
= total number of Children + sum of costs at each
level excluding children level.
4 k
= n k = log 4 n
T (n) = 3 + cost at Levels above child level
log n4
log 4 3 3 0 3 1 3 k −1 2
T (n) = (n ) + ( 2 ) + ( 2 ) + +( 2 ) cn
4 4 4
1 16 2
T ( n ) ( n log 4 3
)+( )cn = (n
2 log 4 3
) + cn 28
3 13
1− ( )
16
Hence : T (n) = (n 2 )
Recursion Tree Method
T(n) = 2T(n/2) + n2.
29
Recursion Tree Method
30
Recursion Tree Method
31
Recursion Tree Method
T(n)
32
Recursion Tree Method
T(n/4) T(n/2)
33
Recursion Tree Method
(n/4)2 (n/2)2
34
Recursion Tree Method
(n/4)2 (n/2)2
(1)
35
Recursion Tree Method
(1)
36
Recursion Tree Method
(1)
37
Recursion Tree Method
…
(1)
38
Recursion Tree Method
…
(1)
Total = 2 5( 5 2
n 1 + 16 + 16 + 16 ( ) ( )
5 3
+ ) 39
= (n2) geometric series
Master Method
• The master method applies to recurrences of the
form
𝒏
𝑻 𝒏 = 𝒂𝑻 +𝒇 𝒏
𝒃