我有这 2 个代码,问题是找出 x=x+1 在每种情况下会运行多少次,因为 T1(n) 代表代码 1,T2(n) 代表代码 2。然后我必须找到 BIG每个人的 O,但我知道该怎么做,问题是我陷入了寻找 x = x + 1 将运行多少次(当然是 n )。
代码 1:
for( i= 1; i <= n; i++)
{
for(j = 1; j <= sqrt(i); j++)
{
for( k = 1; k <= n - j + 1; k++)
{
x = x + 1;
}
}
}
代码 2:
for(j = 1; j <= n; j++)
{
h = n;
while(h > 0)
{
for (i = 1; i <= sqrt(n); i++)
{
x = x+1;
}
h = h/2;
}
}
我真的很困惑,并且已经阅读了很多,所以我问是否有人可以帮助我,请分析解释我。
PS:我认为在代码 2 中,这for (i = 1; i <= sqrt(n); i++)
将运行 n*log(n) 次,对吗?然后呢?