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

The Master Method and Its Use: Log A Ǫ Log A

The Master Method is used to solve recurrence relations of the form T(n) = aT(n/b) + f(n). There are three cases depending on how f(n) compares to nlogba. If f(n) = O(nlogba-ε), T(n) = Θ(nlogba). If f(n) = Θ(nlogba), T(n) = Θ(nlogba logn). If f(n) = Ω(nlogba+ε) and af(n/b) ≤ cf(n), T(n) = Θ(f(n)). The document provides examples of applying the Master

Uploaded by

vvvvicky
Copyright
© Attribution Non-Commercial (BY-NC)
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)
45 views2 pages

The Master Method and Its Use: Log A Ǫ Log A

The Master Method is used to solve recurrence relations of the form T(n) = aT(n/b) + f(n). There are three cases depending on how f(n) compares to nlogba. If f(n) = O(nlogba-ε), T(n) = Θ(nlogba). If f(n) = Θ(nlogba), T(n) = Θ(nlogba logn). If f(n) = Ω(nlogba+ε) and af(n/b) ≤ cf(n), T(n) = Θ(f(n)). The document provides examples of applying the Master

Uploaded by

vvvvicky
Copyright
© Attribution Non-Commercial (BY-NC)
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

The Master Method and its use

The Master method is a general method for solving (getting a closed form solution to) recurrence relations that arise frequently in divide and conquer algorithms, which have the following form: T (n) = aT (n/b) + f (n) where a 1, b > 1 are constants, and f (n) is function of non-negative integer n. There are three cases. (a) If f (n) = O(nlogb a ), for some > 0, then T (n) = (nlogb a ). (b) If f (n) = (nlogb a ), then T (n) = (nlogb a log n). (c) If f (n) = (nlogb a+ ) for some > 0, and af (n/b) cf (n), for some c < 1 and for all n greater than some value n , Then T (n) = (f (n)). For some illustrative examples, consider (a) T (n) = 4T (n/2) + n (b) T (n) = 4T (n/2) + n2 (c) T (n) = 4T (n/2) + n3 In these problems, a = 4, b = 2, and f (n) = n, n2 , n3 respectively. We compare f (n) with nlogb a = nlog2 4 . The three recurrences satisfy the three dierent cases of Master theorem. (a) f (n) = n = O(n2 for, say, = 0.5. Thus, T (n) = (nlogb a ) = (n2 ). (b) f (n) = n2 = (n2 ), thus T (n) = (nlogb a log n) = (n2 log n). 3 (c) f (n) = n3 = (n2+ for, say, = 0.5 and af (n/b) cf (n), i.e., 4( n 2) = 3 n 3 3 2 cn for c = 1/2 . Thus, T (n) = (f (n)) = (n ). (d) The recurrence for binary search is T (n) = T (n/2) + (1). Using Master Theorem, a = 1, b = 2, f (n) = (1). Now f (n) = (1) = (nlogb a ) = (n0 ) = (1). Using the second form of Master Theorem, T (n) = (n0 log n) = (log n). (e) T (n) = 4T (n/2) + n2 log n. This does not form any of the three cases of Master Theorem straight away. But we can come up with an upper and lower bound based on Master Theorem. Clearly T (n) 4T (n) + n2 and T (n) 4T (n) + n2+ for some > 0. The rst recurrence, using the second form of Master theorem gives us a lower bound of (n2 log n). The scond recurrence gives us an upper bound of (n2+ ). The actual bound is not clear from Master theorem. We use a recurrence tree to bound the recurrence.

T (n) = 4T (n/2) + n2 log n n = 16T (n/4) + 4( )2 log n/2 + n2 log n 2 = 16T (n/4) + n2 log n/2 + n2 log n = ...

T (n) = n2 log n + n2 log n/2 + n2 log n/4 + . . . + n2 log n/(2log n ) = n2 (log n + log n/2 + log n + 4 + . . .) = n2 (log n n/2 n/4 + . . . + n/(2logn )) (Transforming logs) = n2 (log 2log n ) (Using geometric series) = n2 log n (Using 2logn = n) Thus, T (n) = n2 log n.

You might also like