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 + 2次,这是否会更改bigO或附加常数无关紧要的规则是否暗示?最后,如果最内层的循环迭代n + 2次而不是n次,它会改变什么吗?
谢谢!
最佳答案
外循环运行n + 2
次,内循环运行n
次,因此代码块运行(n + 2) * n
次,即n * n + 2 * n
次。随着n
值的增加,2 * n
变得无关紧要,因此您只剩下n * n
,给出的答案是:O(n ^ 2)