【发布时间】:2017-09-04 19:35:57
【问题描述】:
count=0;
for(i=1;i<=n;i*=5)
for(j=1;j<=i;j++)
count++;
根据我目前所了解的情况,内循环将增加 5 的幂,如下表所述,即当 i=1、j=1、当 i=5、j=5 时等等.
我 | 1 | 5 |25 |125 |
j | 1 | 5 |25 |125 |
这使得 j 增加,如 5^0、5^1、5^2、5^3 等等。使用高斯技巧,1+2+3+4...+n = (n² + n)/2 = n²/2 + n/2,这给出了 5^((n² + n) 的总迭代次数/2)。
这是否使总运行时间为 O(log base(5) n)?
【问题讨论】:
标签: for-loop time-complexity big-o nested-loops