0% found this document useful (0 votes)
287 views2 pages

Master Method Cheat Sheet

The document provides an overview of the Master Method for solving recurrence relations of the form T(n) = aT(n/b) + f(n). It presents the formal and informal versions of the Master Method. The formal version outlines three cases: Case 1 applies when f(n) grows slower than nlogba and yields T(n) = Θ(nlogba). Case 2 applies when f(n) grows the same as nlogba logk n and yields T(n) = Θ(nlogba logk+1 n). Case 3 applies when f(n) grows faster than nlogba+ε and yields T(n) = Θ(f
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
287 views2 pages

Master Method Cheat Sheet

The document provides an overview of the Master Method for solving recurrence relations of the form T(n) = aT(n/b) + f(n). It presents the formal and informal versions of the Master Method. The formal version outlines three cases: Case 1 applies when f(n) grows slower than nlogba and yields T(n) = Θ(nlogba). Case 2 applies when f(n) grows the same as nlogba logk n and yields T(n) = Θ(nlogba logk+1 n). Case 3 applies when f(n) grows faster than nlogba+ε and yields T(n) = Θ(f
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

CSE 241 Algorithms and Data Structures

September 9, 2013

Master Method Cheat Sheet

Master Method - Formal Version

The Master method applies to many recurrences of the form


n
T (n) = aT
+ f (n),
b
with constants a 1 and b > 1. We assume that there exists some constant n0 such that for all n < n0 ,
T (n) = (1).
Case 1: If f (n) = O(nlogb a ) for some > 0, then T (n) = (nlogb a ).
Case 2: If f (n) = (nlogb a lgk n) for some constant k 0, then T (n) = (nlogb a lgk+1 n).
Case 3: If f (n) = (nlogb a+ ) for some > 0, and af (n/b) cf (n) for some constant c < 1 and
sufficiently large n, then T (n) = (f (n)).

Master Method - Informal Version

Given T (n) = aT (n/b) + f (n), take the following steps:


Compute x = logb a.
If you can, put f (n) in the form (ny logk n), for some constant k 0. If f (n) = 2n, y = 1, k = 0.
If f (n) = log n, we have y = 0, k = 1. If f (n) = (1), we have y = 0, k = 0. They are all valid
values of y and k, and you can apply the below intuition.
Compare x and y. The bigger one gets to be in the answer.
Case 1: If x > y, then the solution is T (n) = (nx ).
Case 2: If x = y, then the solution is T (n) = (nx logk+1 n) = (ny logk+1 n) = (f (n) log n).
Case 3: If y > x, then the solution is T (n) = (f (n)). (All functions of the form ny logk n satisfy
the regularity condition)
What if f (n) doesnt fit the form ny logk n, for k 0? For example if f (n) = n/ log n or f (n) =
n log log n. In essence, the above intuition still works for cases 1 and 3 for any
f (n) = ny .any small (smaller than polynomial) function,
1

since they have O and in their definitions and these are inequality functions. Therefore, if you have
such functions, compare x and y and if x > y or y > x, then you can continue to use the above intuition.
Check the regularity condition for case 3, though.
If x = y, however, then you can not use the above intuition. Case 2 requires a , and therefore requires
that f (n) = ny logk n. If you happen to fall into case 2 with a different function like f (n) like n/ log n or
n log log n, then Master Theorem doesnt apply definitively. You can still use the Master Theorem to guess
your solution, but you have to prove it using the substitution method.

You might also like