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

---------------------- 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值