Time complexity 找到大O运行时间

Time complexity 找到大O运行时间,time-complexity,big-o,Time Complexity,Big O,我很难计算出这段代码的大o符号运行时间。我认为它是O(n),因为I=0,第一个while循环一直持续到I=n,但是第二个while循环出现,整个事情都把我甩了 i=0 sum = 0; while i<n: sum++ if i==3 or i==7 or i==5: j=0 while j<n: sum++ j++ i++ i=0 总和=0

我很难计算出这段代码的大o符号运行时间。我认为它是O(n),因为I=0,第一个while循环一直持续到I=n,但是第二个while循环出现,整个事情都把我甩了

i=0
sum = 0;
    while i<n:
       sum++
       if i==3 or i==7 or i==5:
          j=0
          while j<n:
             sum++
             j++
       i++
i=0
总和=0;

而i内部循环最多只执行3次。对于较大的
n
,在该循环中花费的总时间与总运行时间无关。

内部循环最多只执行3次。对于较大的
n
,在该循环中花费的总时间与总运行时间无关。

确实是
O(n)
。如果没有If语句,则会有
O(n^2)
。但内部循环最多运行3次,因此它相当于
O(3n)
O(n)
它确实是
O(n)
。如果没有If语句,则会有
O(n^2)
。但内部循环最多运行3次,因此它相当于
O(3n)
O(n)
它仍然是O(n)。第二个while循环在最坏的情况下需要3n时间。(n>=8)

它仍然是O(n)。第二个while循环在更坏的情况下需要3n时间。(n>=8)

好的,那么这意味着它是O(n),因为这应该是外循环运行的次数。对吗?好的,这意味着它是O(n),因为这应该是外循环运行的次数。对吗?你所说的
n>=8
是什么意思?这在o形符号中不是无关紧要吗?如果n=你所说的
n>=8
是什么意思?这在o表示法中不是无关紧要吗?如果n=