以下算法的bigOh或运行时间是多少?

时间:2013-01-10 20:10:04

标签: time big-o time-complexity

bigO中以下算法的运行时间是什么。

for(int i=1;i<=n;i++){
    for(int j=i;j<=n;j++){
        for(int k=j; k<=n;k++){
            for(int l=k; l<=n;l++){

                ...

            }
        }
    }
}

5 个答案:

答案 0 :(得分:7)

此算法似乎是n ^ 4。当然,从理论的角度来看(没有任何编译器考虑)。

答案 1 :(得分:2)

N R个4。小数部分不计算在内。

答案 2 :(得分:1)

这种依赖循环集合的公式可以推断如下:

enter image description here

其中 c (常数)是最里面循环内的操作数, n 是元素数, r 是嵌套循环的数量。

在问题的案例中:

enter image description here

enter image description here

另一种有效但乏味的方法是使用Sigma符号:

enter image description here

答案 3 :(得分:0)

O(N ^ 4)是成本。

嵌套的每个都是N ^  所以基本上N * N * N * N = N ^ 4

CS610,算法开发,NJIT。 我的研究生课程实际上派上用场了。

答案 4 :(得分:0)

我的回答是O(N ^ 4)...因为有四个“for循环”..并且很容易判断这个算法的运行时间...谢谢!