1.解题思路
1.根据题意,将2^ k代入n,使T(n) 变为 T(2^ k),T(n+1)变为T(2^(k+1))
2.代入解,若T(2^ (k+1))=2T((2^ (k+1))/2)+2^(k+1)成立,则可证明解成立。
2.解题步骤
设解成立,则有T(2k)=2^ klg(2^k)
将2^ (k+1)代入n,则有T(2^ (k+1)) = 2T(2k) + 2^(k+1)
依假设,T(2^ (k+1)) = 2^(k+1) * lg(2 ^ (k+1)).
将T(2k)=2^ klg(2^k)代入T(2 ^ (k+1)) = 2T(2k) + 2^ (k+1)
则有T(2^ (k+1)) = 2.2^ k* lg(2^k) + 2^(k+1)
= 2^ (k+1)*(lg(2^(k+1)))
所以假设成立
所以解成立
重点
找到递归式中上一次递归的递归式的部分,也就是k+1中k的部分,k+1的部分作为等式左边,将k的部分代入后得到等式的右边,若两边相等则假设成立