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