有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何找到顺序的算法?

我必须找到这些算法的顺序。计算结果与n无关

for (int pass = 1; pass <= n; pass++){
   for (int index = 0; index < n; index++){ 
     for(int count = 1; count < 10; count++){     
    }
   }
 }

第二部分是,我要在内环中将10替换为n。我觉得两者都是O(n3),但我对这个答案不太自信。我们将不胜感激


共 (3) 个答案

  1. # 1 楼答案

    使用Sigma表示法,您可以应用以下内容,您将得到精确的迭代次数:

    enter image description here

  2. # 2 楼答案

    每个循环运行n次(在将n放入第三个循环之后)。循环嵌套在3个级别上,因此您将在最内部的循环中执行指令n3次

    你的答案是正确的:是O(n3)。它实际上是Θ(n3),因为下限和上限都是n3


    在不替换第三个循环的情况下,答案是O(n2)(或Θ(n2),因为每个外部迭代的最内部迭代次数是恒定的

  3. # 3 楼答案

    一旦在内部循环中将10替换为n,它将是O(n3),因为您有三个嵌套循环,它们都依赖于n

    现在,它是O(n2),因为十次迭代的内部循环需要一个恒定的时间,与n无关