Algorithm while循环的时间复杂度分析 inty=1; int j=0; 当(j

Algorithm while循环的时间复杂度分析 inty=1; int j=0; 当(j,algorithm,while-loop,big-o,computer-science,data-analysis,Algorithm,While Loop,Big O,Computer Science,Data Analysis,在每次迭代中增加2时,循环迭代的次数将2n/2=n次。在每次迭代中,j增加2次,这意味着与每次迭代中增加1次相比,它将花费一半的时间 这意味着这里的时间复杂度是2n/2=n 所以O(n)。while(jn)中的n是什么取决于用户提供的输入,所以循环头将被检查n+1次,对吗?因为它必须再检查1次才能为假。@Buddy-right,但就渐近复杂性分析而言,这并不重要。 int y=1;

在每次迭代中增加
2
时,循环迭代的次数将
2n/2=n
次。

在每次迭代中,j增加2次,这意味着与每次迭代中增加1次相比,它将花费一半的时间

这意味着这里的时间复杂度是2n/2=n


所以O(n)。

while(jn)中的
n
是什么取决于用户提供的输入,所以循环头将被检查n+1次,对吗?因为它必须再检查1次才能为假。@Buddy-right,但就渐近复杂性分析而言,这并不重要。
int y=1;                                                                                       
int j=0;                                                                                        
while(j<=2n){                                                                            
   y=y+i;                                                                                        
   j=j+2;                                                                                        
}