While循环的时间复杂度分析

问题描述

int y=1;                                                                                       
int j=0;                                                                                        
while(j<=2n){                                                                            
   y=y+i;                                                                                        
   j=j+2;                                                                                        
}                                                                                       

在这种情况下,如果j增加+1,将检查循环标头while(j

解决方法

j在每次迭代中增加2,这意味着与之相比,在每次迭代中增加1所需的时间为一半

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

所以O(n)。

,

随着每次迭代增加2,循环迭代次数将是2n/2 = n次。