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'。 –