Beruflich Dokumente
Kultur Dokumente
Master Theorem
Slides by Christopher M. Bourke Instructor: Berthe Y. Choueiry
Spring 2006
Master Theorem I
Master Theorem CSE235 Introduction Pitfalls Examples 4th Condition
When analyzing algorithms, recall that we only care about the asymptotic behavior. Recursive algorithms are no dierent. Rather than solve exactly the recurrence relation associated with the cost of an algorithm, it is enough to give an asymptotic characterization. The main tool for doing this is the master theorem.
2 / 25
Master Theorem II
Master Theorem CSE235 Introduction Pitfalls Examples 4th Condition
3 / 25
Master Theorem
Pitfalls
Master Theorem CSE235 Introduction Pitfalls Examples 4th Condition
You cannot use the Master Theorem if T (n) is not monotone, ex: T (n) = sin n f (n) is not a polynomial, ex: T (n) = 2T ( n ) + 2n 2 b cannot be expressed as a constant, ex: T (n) = T ( n) Note here, that the Master Theorem does not solve a recurrence relation. Does the base case remain a concern?
4 / 25
Master Theorem
Example 1
Master Theorem CSE235 Introduction Pitfalls Examples 4th Condition
Let T (n) = T
n 2
5 / 25
Master Theorem
Example 1
Master Theorem CSE235 Introduction Pitfalls Examples 4th Condition
Let T (n) = T
n 2
6 / 25
Master Theorem
Example 1
Master Theorem CSE235 Introduction Pitfalls Examples 4th Condition
Let T (n) = T
n 2
7 / 25
Master Theorem
Example 1
Master Theorem CSE235 Introduction Pitfalls Examples 4th Condition
Let T (n) = T
n 2
8 / 25
Master Theorem
Example 1
Master Theorem CSE235 Introduction Pitfalls Examples 4th Condition
Let T (n) = T
n 2
9 / 25
Master Theorem
Example 1
Master Theorem CSE235 Introduction Pitfalls Examples 4th Condition
Let T (n) = T
n 2
Therefore which condition? Since 1 < 22 , case 1 applies. Thus we conclude that T (n) (nd ) = (n2 )
10 / 25
Master Theorem
Example 2
Master Theorem CSE235 Introduction Pitfalls Examples 4th Condition
Let T (n) = 2T
n 4
11 / 25
Master Theorem
Example 2
Master Theorem CSE235 Introduction Pitfalls Examples 4th Condition
Let T (n) = 2T
n 4
12 / 25
Master Theorem
Example 2
Master Theorem CSE235 Introduction Pitfalls Examples 4th Condition
Let T (n) = 2T
n 4
13 / 25
Master Theorem
Example 2
Master Theorem CSE235 Introduction Pitfalls Examples 4th Condition
Let T (n) = 2T
n 4
14 / 25
Master Theorem
Example 2
Master Theorem CSE235 Introduction Pitfalls Examples 4th Condition
Let T (n) = 2T
n 4
15 / 25
Master Theorem
Example 2
Master Theorem CSE235 Introduction Pitfalls Examples 4th Condition
Let T (n) = 2T
n 4
Therefore which condition? Since 2 = 4 2 , case 2 applies. Thus we conclude that T (n) (nd log n) = ( n log n)
1
16 / 25
Master Theorem
Example 3
Master Theorem CSE235 Introduction Pitfalls Examples 4th Condition
Let T (n) = 3T
n 2
17 / 25
Master Theorem
Example 3
Master Theorem CSE235 Introduction Pitfalls Examples 4th Condition
Let T (n) = 3T
n 2
18 / 25
Master Theorem
Example 3
Master Theorem CSE235 Introduction Pitfalls Examples 4th Condition
Let T (n) = 3T
n 2
19 / 25
Master Theorem
Example 3
Master Theorem CSE235 Introduction Pitfalls Examples 4th Condition
Let T (n) = 3T
n 2
20 / 25
Master Theorem
Example 3
Master Theorem CSE235 Introduction Pitfalls Examples 4th Condition
Let T (n) = 3T
n 2
21 / 25
Master Theorem
Example 3
Master Theorem CSE235 Introduction Pitfalls Examples 4th Condition
Let T (n) = 3T
n 2
Therefore which condition? Since 3 > 21 , case 3 applies. Thus we conclude that T (n) (nlogb a ) = (nlog2 3 )
22 / 25
Master Theorem
Example 3
Master Theorem CSE235 Introduction Pitfalls Examples 4th Condition
Let T (n) = 3T
n 2
Therefore which condition? Since 3 > 21 , case 3 applies. Thus we conclude that T (n) (nlogb a ) = (nlog2 3 ) Note that log2 3 1.5849 . . .. Can we say that T (n) (n1.5849 ) ?
23 / 25
Fourth Condition
Master Theorem CSE235 Introduction Pitfalls Examples 4th Condition
Recall that we cannot use the Master Theorem if f (n) (the non-recursive cost) is not polynomial. There is a limited 4-th condition of the Master Theorem that allows us to consider polylogarithmic functions.
Corollary
If f (n) (nlogb a logk n) for some k 0 then T (n) (nlogb a logk+1 n) This nal condition is fairly limited and we present it merely for completeness.
24 / 25
Fourth Condition
Example
Master Theorem CSE235
T (n) = 2T
n + n log n 2
Clearly, a = 2, b = 2 but f (n) is not a polynomial. However, f (n) (n log n) for k = 1, therefore, by the 4-th case of the Master Theorem we can say that T (n) (n log2 n)
25 / 25