-1

在函数内部有不同的循环不会导致 BigOh 相乘,对吗?

例子:

function() {
    for(int i = 0; i < n; i++) {
        //logic here
    }

    for(int i = 0; i < n; i++) {
        //logic here
    }
}
4

3 回答 3

1

对此进行了很好的讨论(即一般参考),但是是的,您是正确的,您在问题中拥有的功能将是 O(n)。

技术上 O(2n) 减少到 O(n)

于 2012-06-12T20:23:21.690 回答
1

是的,它仍然是 O(n),因为你会有 O(n+n),即 O(2n),但我们可以忽略 2,因为它的影响可以忽略不计。但如果你有

for (...){
  for(...){
    //code here
  }
}

那么它将是 O(n^2)

于 2012-06-12T20:23:43.370 回答
-1

请参阅有关堆栈溢出的这篇文章,其中解释了为什么它的 O(N)。

https://stackoverflow.com/a/5872270/2441441

于 2016-07-28T17:10:45.193 回答