嵌套和顺序for循环复杂性

时间:2016-11-09 00:15:25

标签: for-loop time-complexity big-o discrete-mathematics code-complexity

我正在做一些非常接近这段代码的事情:

for(int k=0; k<n; k++) {            // n
    for(int a=0; a<k; a++) {        // n/2 -> n (watch the a<k)
        ...                         // c
    }
    for(int i=0; i<n; i++) {        // n
        for(int a=0; a<i; a++) {    // n/2 -> n (watch the a<i)
            ...                     // c
        }
        for(int j=0; j<n; j++) {    //n
            ...                     //c
        }
    }
}

我想要找出的是复杂性...我发现O(n ^ 3)但我不想“接受”这个答案..基本上如果我删除2 for(a)循环它会是同样的复杂性吗?

但实际上这些代码不会有相同的执行时间,可能不会那么接近..为什么它仍然是O(n ^ 3):/

1 个答案:

答案 0 :(得分:2)