2
$\begingroup$

Here is a recursive definition for the runtime of some unspecified function. $a$ and $c$ are positive constants.

$T(n) = a$, if $n = 2$

$T(n) = 2T(n/2) + cn$ if $n > 2$ Use induction to prove that $T(n) = \Theta(n \log n)$

Any idea on how to solve this?

$\endgroup$
  • $\begingroup$ Why not use the Master theorem? since $n^{log_2(2)} = n = f(n)$, you can state that $T(n) \in \Theta(n.log(n))$ $\endgroup$ – Smajl Oct 20 '14 at 6:51
  • $\begingroup$ Because is says to use induction. $\endgroup$ – Carol Doner Oct 20 '14 at 23:03
0
$\begingroup$

Hint: If $T(n/2) \leq M \frac{n}{2} \log \frac{n}{2}$ then $$ T(n) = 2T(n/2) + cn \leq Mn\log \frac{n}{2} + cn \leq Mn\log n +n (c-M\log 2). $$ The lower bound should be similar.

$\endgroup$
  • $\begingroup$ Then can we assume that n(c-Mlog2) gets more and more negligible as n gets larger and larger, thus the Big Oh part of the proof is done? Or I should include more calculations for this? $\endgroup$ – Carol Doner Oct 20 '14 at 22:55
  • $\begingroup$ No, a proof doesn't work this way. For the induction to work you really need to prove that $T(n) \leq Mn\log n$. $\endgroup$ – Yuval Filmus Oct 21 '14 at 2:53

Not the answer you're looking for? Browse other questions tagged or ask your own question.