【发布时间】:2014-02-26 15:33:44
【问题描述】:
我在找出这段代码的 Big-O 表示法时遇到了麻烦。 我需要找到两个 for 循环的符号。
public static int fragment(int n)
{
int sum = 0;
for (int i = n; i >= 1; i /= 2)
{
for (int j = 1; j <= i; j *= 3)
{
sum++;
}
}
return sum;
}
【问题讨论】:
-
嗯...我倾向于说它是
O(n log n)...外循环是log n,内循环是n... -
@NiettheDarkAbsol 一点也不。内循环是
log(i) -
@IvayloStrandjev 怎么样?如果有的话,就是
i/3,就是i……如果i是log n,那么……呃……我不知道XD -
啊,我快到了!我在想“如果
i是log n那么结果就是(log n)^2”,但我想我会说些傻话XD
标签: big-o complexity-theory time-complexity