This document presents an extension to the Master Theorem to fill gaps in cases where the theorem does not apply. It introduces 4 new cases:
1) If f(n) = O(n^E(logbn)^α) with α < -1, then T(n) = Θ(n^E).
2) If f(n) = Θ(n^E(logbn)^-1), then T(n) = Θ(n^E logblogb(n)).
3) If f(n) = Θ(n^E(logbn)^α) with α > -1, then T(n) = Θ(n
This document presents an extension to the Master Theorem to fill gaps in cases where the theorem does not apply. It introduces 4 new cases:
1) If f(n) = O(n^E(logbn)^α) with α < -1, then T(n) = Θ(n^E).
2) If f(n) = Θ(n^E(logbn)^-1), then T(n) = Θ(n^E logblogb(n)).
3) If f(n) = Θ(n^E(logbn)^α) with α > -1, then T(n) = Θ(n
This document presents an extension to the Master Theorem to fill gaps in cases where the theorem does not apply. It introduces 4 new cases:
1) If f(n) = O(n^E(logbn)^α) with α < -1, then T(n) = Θ(n^E).
2) If f(n) = Θ(n^E(logbn)^-1), then T(n) = Θ(n^E logblogb(n)).
3) If f(n) = Θ(n^E(logbn)^α) with α > -1, then T(n) = Θ(n
This document presents an extension to the Master Theorem to fill gaps in cases where the theorem does not apply. It introduces 4 new cases:
1) If f(n) = O(n^E(logbn)^α) with α < -1, then T(n) = Θ(n^E).
2) If f(n) = Θ(n^E(logbn)^-1), then T(n) = Θ(n^E logblogb(n)).
3) If f(n) = Θ(n^E(logbn)^α) with α > -1, then T(n) = Θ(n
In the Master Theorem, as given in the textbook and previous
handout, there is a gap between cases (1) and (2), and a gap between cases (2) and (3). For example, if a = b = 2 and f (n) = n/lg(n) or f (n) = n lg(n), none of the cases apply. The extension below partially fills these gaps. def
THEOREM (Extension of Master Theorem) If a, b, E = logb(a),
and f (n) are as in the Master Theorem, the recurrence T(n) = aT(n /b) + f (n), T(1) = d, has solution as follows: 1') If f (n) = O( n E (logbn)) with < 1, then T(n) = (n E). 2') If f (n) = ( n E (logbn)1) , then T(n) = ( n E logblogb(n)) . 3') If f (n) = ( n E (logbn)) with > 1, then T(n) = ( nE (logbn)+1) . 4') [same as in Master Theorem] If f (n) = ( n E+ ) for some > 0, then T(n) = (f (n)), provided there is a constant c with c < 1 such that a f (n/b) c f (n) for all n sufficiently large. Note: (1') above includes case (1) of the Master Theorem. (3') above with = 0 is case (2) in the Master Theorem.
We make use of the fact below, which follows from the close connection between sums and integrals.
LEMMA. i=1 i converges if < 1 and diverges otherwise.
n n i=1 i ln(n)+ if = 1, and i=1 i n +1 /(+1) if > 1. Proof of the extended Master Theorem when n is a power of b. Case (4) is exactly as in the Master Theorem, so we consider only (1), (2), and (3). In case 1, f (n) (nE (logbn)). In cases (2) and (3), f (n) = (nE (logbn)) for some . Let n = bk, so k = logb(n). From the previous handout, we know that T(n) = f (n) + af (n/b) + a2 f (n/b2) + ... + ak1 f (n/bk1) + ak d. Putting f (n) cnE (logbn) for some constant c, we get T(n) cnE (logbn) + ac(n/b)E (logb(n/b)) + a2 c(n/b2)E (logb(n/b2)) + ... + a k1c(n/bk1)E (logb(n/bk1)) + ak d (In case 1, this is just an upper bound for T(n).)
Note ak = nE. Also n = bk, so logb (n/bi ) = logb(bk i ) = k i. Finally,
note a = b E , so in ai c(n/bi )E in the formula above, a i / biE = 1. With these simplifications, our formula becomes T(n) cnE k + cnE (k1) + cnE (k2) + ... + cnE 1 + dnE k
= cnE i=1 i + dnE
If < 1, then 1 i=1 i < c', where c' = i=1 i = some
constant. So at worst T(n) (cc'+d) nE = (nE). But in the handout on the Master Theorem we remarked that T(n) can never be less than (nE), since the bottom level alone requires this much time. k
If = 1, then i=1 i ln(k) = ln logb (n) = q logblogb(n) for some
constant q, so T(n) cq nE logblogb(n) + dnE = (nE logblogb(n)). k
If > 1, then +1 > 0, and i=1 i k +1 /(+1) =
logb (n)+1 / (+1), so T(n) c nE logb (n)+1 / (+1) + dnE = (nE (logb (n))+1 ).