【问题标题】:What is the bigOh or running time of the following algorithm以下算法的 bigOh 或运行时间是多少
【发布时间】:2013-01-10 20:10:04
【问题描述】:

以下算法在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++){

                ...

            }
        }
    }
}

【问题讨论】:

    标签: time big-o time-complexity


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      N^4。小数部分不算。

      【讨论】:

        【解决方案3】:

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

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

        在问题的情况下:

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

        【讨论】:

          【解决方案4】:

          O(N^4) 是成本。

          每个嵌套是 N^ 所以本质上是 N * N * N * N = N^4

          CS610,算法开发,新泽西理工学院。 我的研究生课程实际上派上用场了。

          【讨论】:

          • 计算复杂度的订单通常是第一年的材料吗?
          • 你是绝对正确的。他们在第一年开始了一些低水平的本科CS课程,然后他们在研究生院开始时对其进行了审查(CS610)。只是想突出我的研究生母校;)
          【解决方案5】:

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-12-28
            • 1970-01-01
            • 2011-08-30
            • 2021-02-19
            • 1970-01-01
            • 2020-11-15
            • 2019-05-08
            相关资源
            最近更新 更多