Give a closed form for this: T(1) = 1 T(N) = T(n/2) + log(n)
Anyone can show me how to solve this?
Give a closed form for this: T(1) = 1 T(N) = T(n/2) + log(n)
Anyone can show me how to solve this?
If $n = 2^m$, this becomes $T(2^n) =T(2^{n-1})+\log(2^n) =T(2^{n-1})+n\log(2) $.
Letting $T(2^n) = s(n)$, we get $s(n) = s(n-1)+n\log 2 $.
You should be able to solve this.
Another way is to repeatedly apply the recurrence:
$\begin{array}\\ T(n) &= T(n/2)+\log(n)\\ &= T(n/4)+\log(n/2)+\log(n)\\ &= T(n/8)+\log(n/4)+\log(n/2)+\log(n)\\ &= T(n/2^k)+\log(n/2^{k-1})+...+\log(n/2)+\log(n)\\ \end{array} $
Apply until $2^k \ge n > 2^{k-1} $, or $k = \lceil \log_2(n) \rceil -1$.
The sum of logs is, where $m = \lceil \log_2(n) \rceil -1 $,
$\begin{array}\\ \sum_{k=0}^{m} \log(n/2^k) &=\sum_{k=0}^{m}( \log(n)-\log(2^k))\\ &=\sum_{k=0}^{m}( \log(n)-k\log(2))\\ &=\sum_{k=0}^{m}\log(n)-\sum_{k=0}^{m}k\log(2)\\ &=(m+1)\log(n)-m(m+1)\log(2)/2\\ &=(m+1)(\log(n)-(m+1)\log(2)/2)\\ &=(m+1)(\log(n)-\lceil \log_2(n) \rceil\log(2)/2)\\ &\approx(m+1)(\log(n)-\lceil \log(n) \rceil/2)\\ &\approx(m+1)\log(n)/2)\\ &\approx\log^2(n)\log(2)/2\\ \end{array} $