Search code examples
mathbig-otime-complexityproofinduction

Inductive Proof that a recurrence isn't O(n) by showing it is Omega(nlogn)


Note: This is related to homework.

I am attempting to show that T(n/3) + T(2n/3) + n >= cn , for all c > 0.

When I attempted this, the base case failed (T(1) = 1 >= cn, for all c > 0, is not true). So to work around this, I thought to show that the problem has a lower bound which is higher than O(n). Does this constitute a correct proof?


Solution

  • As a hint, try adding in more terms. Suppose that your function satisfies

    T(n) ≥ k1n log n + k2n + k3

    Now, when you plug in n = 1, the right-hand side can be made nonzero by setting k2 and k3 appropriately. This sort of technique is common for using induction to upper-bound and lower-bound functions and works because those lower-order terms are irrelevant for big-O notation and handle the smaller cases gracefully.