Professional Documents
Culture Documents
Ch 4: Recurrences
Ming-Te Chi
Ch4 Recurrences
Recurrences
Ch4 Recurrences
Recurrencesexamples
Summation
n
n 1
i 1
i 1
i n i
Factorial
n ! n * ( n 1)!
Ch4 Recurrences
Recurrencesexamples
Summation
S ( n ) n S (n 1)
Factorial
n ! n * ( n 1)!
Ch4 Recurrences
Termination conditions
(boundary conditions)
Summation
S ( n ) n S ( n 1)
S (1) 1
Factorial
n ! n * ( n 1)!
1! 1
Ch4 Recurrences
RecurrencesCS
oriented
examples
Fibonacci number
F ( n ) F (n 1) F ( n 2)
Merge sort
n
T ( n ) 2T ( ) ( n )
2
Ch4 Recurrences
Fibonacci number
F ( n ) F (n 1) F ( n 2)
Merge sort
n
T ( n ) 2T ( ) ( n )
2
Ch4 Recurrences
Recurrences
T ( n ) aT ( n / b ) f ( n )
Substitution method
Recursion-tree method
Master method
Ch4 Recurrences
Technicalities
Ch4 Recurrences
The maximum-subarray
problem
Ch4 Recurrences
10
Ch4 Recurrences
11
Ch4 Recurrences
12
Matrix multiplication
Ch4 Recurrences
13
A simple divide-and-conquer
algorithm
Ch4 Recurrences
14
Ch4 Recurrences
15
Strassens method
Ch4 Recurrences
16
Ch4 Recurrences
17
18
Ch4 Recurrences
19
General principle of
the Mathematical Induction
Ch4 Recurrences
20
Example
Determine the upper bound on the
recurrence
T ( n ) 2T ( n / 2 ) n
T (1 ) 1
T (n ) cn log n
Ch4 Recurrences
21
T ( n / 2 ) c n / 2 log n / 2
2
2
2
cn log n cn log 2 n cn log n (if c 1.)
Ch4 Recurrences
22
Initial condition
T (1) 1
T (1) cn log1 0 ( )
However
T (2) 4
cn log 2 (if c 4)
Ch4 Recurrences
23
We guessT ( n ) O( n log n )
Making guess provides loose upper
bound and lower bound. Then
improve the gap.
Ch4 Recurrences
24
Ch4 Recurrences
25
Ch4 Recurrences
26
Subtleties
T ( n ) T ( n / 2 ) T ( n / 2 ) 1
Guess T ( n ) O( n )
AssumeT ( n ) cn
T ( n ) c n / 2 c n / 2 1 cn 1 cn
T ( n ) cn b
However, assume
T ( n ) ( c n / 2 b ) ( c n / 2 b ) 1
cn 2 b 1 cn b ( Choose b 1 )
Ch4 Recurrences
27
Avoiding pitfalls
T ( n ) 2T ( n / 2 ) n
T (1 ) 1
AssumeT ( n ) O( n )
Hence T ( n ) cn
28
Changing variables
Ch4 Recurrences
29
Ch4 Recurrences
30
Ch4 Recurrences
31
n
Subproblem size for a node at depth i 4i
i
3
Number of nodes at depth i
n 2
c
(
)
Cost of each node at depth i
i
4
n
3
Total cost at depth i 3i c( i ) 2 ( )i cn 2
4
16
, has3log4 n n log4 3
Ch4 Recurrences
nodes
32
log 4 n
Prove of 3
log 4 n
log 4 3
log 4 3
(log 4 n )(log 4 3)
(log 4 3)(log 4 n )
log 4 n
We conclude,
log 4 3
log 4 n
Ch4 Recurrences
log 4 3
33
3 2 3
3
2
T (n) cn cn
cn ...
16
16
16
2
log 4 n 1
i 0
3
log
2
cn
16
log 4 n 1
cn 2 (n log 3 )
4
(3 / 16)log n 1 2
cn (nlog 3 ).
(3 / 16) 1
4
Ch4 Recurrences
34
T ( n)
log 4 n 1
i 0
i
3
log
2
cn
16
3
log 3
2
cn n
i 0 16
1
cn 2 nlog
1 (3 / 16)
16 2
cn (nlog 3 )
13
O(n2 )
Ch4 Recurrences
35
Substitution method
We want to Show that T(n) dn2 for some
constant d > 0.
Using the same constant c > 0 as before, we
have
T ( n)
3T ( n / 4 ) cn 2
3d n / 4
cn 2
3d (n / 4) 2 cn 2
3 2
dn cn 2
16
dn 2 ,
36
T (n) T (n / 3) T (2n / 3) cn
Ch4 Recurrences
37
2 i
( i) n
Subproblem size for a node at depth
3
log 3/ 2 n 1
Ch4 Recurrences
38
substitution method
T (n) T (n / 3) T (2n / 3) cn
dn lg n dn(lg 3 2 / 3) cn
dn lg n,
Ch4 Recurrences
39
Ch4 Recurrences
40
Remarks 1:
logb a
smaller
than
by a factor
n
n
of
Similarly, in the third case, f(n) must be
logb a
polynomailly larger than
n
41
Remarks 2:
42
Example 1:
T ( n ) 9T ( n / 3 ) n
a 9, b 3, f ( n ) n
n log3 9 n2 ,
f ( n ) O( n log3 9 1 )
Case 1 T ( n ) ( n2 )
Ch4 Recurrences
43
Example 2:
T( n ) T( 2n / 3 ) 1
a 1, b 3 / 2 , f ( n ) 1
n log3 / 2 1 n0 1 f ( n ),
Case
2 T ( n ) (log n )
Ch4 Recurrences
44
Example 3:
T (n) 3T (n / 4) n log n
a 3, b 4, f (n) n log n
nlog4 3 n 0.793 , f (n) (n log4 3 )
Case 3
Check
af(n/b)=3(
n
n
3n
) log ( )
log n=cf(n)
4
4
4
3
for c= , and sufficiently large n
4
T ( n ) ( n log n )
Ch4 Recurrences
45
Example 4:
Ch4 Recurrences
46
Example 5:
Ch4 Recurrences
47
Remarks 3:
Ch4 Recurrences
48
Remarks 3 (continue)
Ch4 Recurrences
49
Example 6:
Ch4 Recurrences
50
Example 7:
Ch4 Recurrences
51
Ch4 Recurrences
52
Ch4 Recurrences
53