如何从代码片段计算Big O表示法

时间:2011-01-31 13:22:45

标签: c++ algorithm

  

可能重复:
  Big O, how do you calculate/approximate it?

我有一段代码,如下:

// A
for (i = 0; i < 2*n; i += 2) {
    for (j=n; j > i; j--) {
        foo();
    }
}

// B
for(i=n; i>=0; i-=2) {
    for(j=i; j>n; j--) {
        foo();
    }
}

我知道我必须将for循环“转换”为数学公式并检查,其中哪些(A或B)运行foo()更多次。

对于上面提到的情况,它是

答:(n/2 + 1)*(n/2) B:0

是否有任何“食谱”?

0 个答案:

没有答案