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