您的位置:首页 > 职场人生

黑马程序员学习笔记——关于时间复杂度计算1

2014-04-28 14:54 253 查看
---------------------- ASP.Net+Unity开发.Net培训、期待与您交流!
----------------------

1.T(n)=T(n-1)+O(n) 时间复杂度为什么是O(n^2)???

解法1:

往下面继续展开:T(n-1) = T(n-2) + O(n-1)....一起合并代入得到:

T(n) = O(n) + O(n-1) + O(n-2) + ....+ O(1) + T(0)

这个T(0)一般为某个常数,前面的加起来不就是O(n(n+1)/2),也就是O(n^2)了

解法2:

T(1) = T(0) + O(1);

T(2) = T(1) + O(2);

T(3) = T(2) + O(3);

......

T(n) = T(n-1)+O(n);

两边相加,就可以得到T(n)了,然后同解法1

2.在时间复杂度中,log(2,n)(以2为底)与lg(n)(以10为底)是等价的,因为对数换底公式:

log(a,b)=log(c,b)/log(c,a)

所以,log(2,n)=lg(n)/lg(2), 忽略掉系lg2,二者当然是等价的。

3.





---------------------- ASP.Net+Unity开发.Net培训、期待与您交流!
----------------------详细请查看:http://edu.csdn.net
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: