计算方法调用中方法调用的时间复杂度
Calculating Time Complexity of a Method Call within a Method call
所以我的任务是在 java 中创建方法,这些方法使用 HugeIntegers(这是在其索引中包含数字的数组,例如 1111 将是 [ 1,1,1,1]).
编写代码后,我们被要求分析它的时间复杂度(即大的 theta 复杂度 类),我在分析部分代码时遇到了一些麻烦(请参阅link).
我知道 x1.add(diff) 会给我 big theta (n) 其中 n 是 HugeInteger 的位数,compareTo(x2) 也会给我 big theta (n) . while循环里面的内容也是大theta(n)。
现在,这段代码的总时间复杂度是 (n^3) 还是 n^2?我在 while 循环条件上遇到了一些麻烦,因为我不确定 n 应该相加还是相乘。不过,我知道无论结果是什么,都会在 while 循环中乘以 n。
非常非常感谢任何帮助。我已经坚持了一周的大部分时间。
循环的条件将是 运行 每个循环迭代一个。循环的内容也将是 运行 每次循环迭代一次。所以你可以添加那些。然后当然是乘以循环次数运行s。如果条件是 (n) 并且循环体是 (n) 那么它们仍然是 (n)。如果循环运行s(n)次,则总数为(n^2).
所以我的任务是在 java 中创建方法,这些方法使用 HugeIntegers(这是在其索引中包含数字的数组,例如 1111 将是 [ 1,1,1,1]).
编写代码后,我们被要求分析它的时间复杂度(即大的 theta 复杂度 类),我在分析部分代码时遇到了一些麻烦(请参阅link).
我知道 x1.add(diff) 会给我 big theta (n) 其中 n 是 HugeInteger 的位数,compareTo(x2) 也会给我 big theta (n) . while循环里面的内容也是大theta(n)。 现在,这段代码的总时间复杂度是 (n^3) 还是 n^2?我在 while 循环条件上遇到了一些麻烦,因为我不确定 n 应该相加还是相乘。不过,我知道无论结果是什么,都会在 while 循环中乘以 n。
非常非常感谢任何帮助。我已经坚持了一周的大部分时间。
循环的条件将是 运行 每个循环迭代一个。循环的内容也将是 运行 每次循环迭代一次。所以你可以添加那些。然后当然是乘以循环次数运行s。如果条件是 (n) 并且循环体是 (n) 那么它们仍然是 (n)。如果循环运行s(n)次,则总数为(n^2).