【发布时间】:2014-01-30 06:41:50
【问题描述】:
我对时间复杂度没有足够的了解,所以我的问题是:
是否有任何直接的公式来计算算法的时间复杂度,例如-我在某处读到这段代码的大 O 是 n*log2(n),所以你能告诉我他们是如何得到这个表达式的吗?
for(i=1;i<=n;i=i*2)
对于这个循环,我无法计算大 O。对于 n=100 的值,这个循环将进行 7 次迭代。这对给定公式有何帮助?
【问题讨论】:
-
O(n^2logn) 的代码示例??????不然怎么解释....
-
for(i=0;i
-
这个循环是无限的。
-
对不起,我弄错了,实际上是 for(i=1;i
-
不是
log2(n)?。因为二分查找的复杂度是一样的,索引每次除以2。在本例中乘以2。