算法导论学习记录 练习2.3-3 数学归纳法

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的部分代入后得到等式的右边,若两边相等则假设成立

©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页