java - 嵌套for循环的大O

标签 java loops for-loop big-o nested-loops

int y = 1;
for (int x = 1 ; x <= n+2 ; x++)
  for (int w = n ; w > 0 ; w--)
    y = y + 1;

我对确定上述代码的 BigO 有点困惑。如果在最外层循环中是 for(int x = 1; x <= n; w++),那么循环的 BigO 将为 O(n^2),因为最外层循环将迭代 n 次,最内层循环也会迭代迭代n次。

但是,考虑到最外层循环迭代 n+2 次,这会改变 bigO 还是意味着加性常数无关紧要的规则?最后,如果最内层循环迭代 n+2 次而不是 n 次,它会改变什么吗?

谢谢!

最佳答案

外循环运行 n + 2 次,内循环运行 n 次,因此代码块运行 (n + 2) * n次,即 n * n + 2 * n 次。随着 n 值的增加,2 * n 变得微不足道,因此只剩下 n * n,给出答案:<强>O(n^2)

关于java - 嵌套for循环的大O,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32998145/

相关文章:

java - Android READ_PHONE_STATE 事件

r - 在 R 中使用 if else 为 for 语句的每次迭代保存值

javascript - 从表单中写入所有偶数的函数

javascript - 如何修复两个相同元素的卡住循环?

r - 在 R 中保存 str_which 循环的输出

python - 使用 while 循环是最佳实践时,python 中是否存在任何情况?

java - Admob NativeExpressAdView 仅 java

java - 如何使用 Java 创 build 计二维码?

具有参数化类型的 Java getConstructor(types)

java - 使用 MouseAdapter 在 Java 中进行 Tic Tac Toe 游戏