- 课本上的数学归纳法就不说了!
- 还是用替换法求解:
T(n)=2T(n/2)+n
=2(2T(n/2*2)+n)+n
=2(2(2T(n/2*2*2)+n)+n)+n
=2^3T(n/2^3)+3n
=...
=2^kT(n/2^k)+kn 现在设T(1)=0, n=2^k
=nT(1)+kn
=kn
=nlogn
- 另外一种方法就是利用递归树来求解,也是非常方便,但是要注意一个定理:有n个节点的二叉树有k=logn层,知道这个就好理解下面这个图了,慢慢推导吧,这个可能是个考点。