use*_*582 5 big-o time-complexity
如何计算以下函数的时间复杂度?
int Compute (int n)
{
int j = 0;
int i = 0;
while (i<=n)
{
i = 2*j + i + 1;
j++;
}
return j-1;
}
Run Code Online (Sandbox Code Playgroud)
现在,我知道循环具有O(n)时间复杂度,但在这种情况下i以更快的速度增长.通过迭代进行迭代,我发现每次第m次迭代i = m^2.但我仍然对如何计算Big-O感到困惑.