Complexity theory 有助于发现时间的复杂性和空间的复杂性 intf2(intn) { int x,y,z=0,i; 对于(x=n,i=0;i1) { y/=3; z+=y; } } 返回z; }

Complexity theory 有助于发现时间的复杂性和空间的复杂性 intf2(intn) { int x,y,z=0,i; 对于(x=n,i=0;i1) { y/=3; z+=y; } } 返回z; },complexity-theory,Complexity Theory,我被第一个循环弄糊涂了,我的问题是我无法计算循环执行了多少次,以及x如何影响 一般来说,这是代码 它是: log3(n)+log3(n2)+…+log3(nn)=log3(n)n(n+1)/2 短期内: int f2(int n) { int x, y, z = 0, i; for(x = n, i = 0; i < n; i ++, x *= n) { y = x; while (y > 1) {

我被第一个循环弄糊涂了,我的问题是我无法计算循环执行了多少次,以及
x
如何影响 一般来说,这是代码

它是:

log3(n)+log3(n2)+…+log3(nn)=log3(n)n(n+1)/2

短期内:

int f2(int n)
{    
    int x, y, z = 0, i;

    for(x = n, i = 0; i < n; i ++, x *= n)
    {
        y = x;
        while (y > 1)
        { 
            y /= 3;
            z += y;
        }
    }
return z;
}

那么短期内是$theta$($log(n)*n^2$)吗?log(3n)是否属于log(n)家族?这里的空间复杂性是O(1)?因为我看不到数组或字符串使用子/上标重新格式化以确保易读性,但我不知道你的最后一个表达式是什么,所以我把它留给你了。
n^2log(n)