两个JAVA问题,求大神解答

A、

循环执行n次,时间复杂度为O(n)。

乙、

for(int I = 0;我& ltn;i++)

for(int j = 0;j & ltn;j++)

第一个周期是每1次,第二个周期是n次,第一个周期是每***n次,那么这个周期总是***n?时间

for(int I = 0;我& ltn;i++)

for(int j = 0;j & lt我;j++)

这个循环执行1+2+...+n=(1+n)n/2次。

总周期n?+(1+n)n/2次,时间复杂度为O(n?)。

丙、

for(int I = 1;我& lt= n;i*=2)

for(int j = 1;j & lt= n;j++)

第一个循环是每1次,第二个循环是n次,第一个循环是每***log2n次,所以这个循环总是***nlog2n次,时间复杂度是O(nlog2n)。

d、

for(int I = 1;我& lt= n;i*=2)

for(int j = 1;j & lt= I;j++)

这个循环执行1+2+...+log2n = (1+log2n) log2n/2次,时间复杂度为O(n)。