int y = 1;
for (int x = 1 ; x <= n+2 ; x++)
for (int w = n ; w > 0 ; w--)
y = y + 1;
我对确定上述代码的BigO有点困惑。如果在最外层的循环中它是(int x = 1; x < = n; w ++),那么循环的BigO将是O(n^2),因为最外层的循环会迭代n次,最内层的循环也会迭代n次。嵌套for循环的大O
但是,假设最外面的循环迭代n + 2次,那么这会改变bigO还是遵循加法常量无关紧要的规则?最后,如果最内层的循环迭代n + 2次而不是n,它会改变什么吗?
谢谢!
因为'N'趋于无穷大,一个'+ 2'迅速变无关。当'n'变为无限时,你正在采用'(n + 2)*(n)'的极限,它等于'n^2 + 2n'。 –