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)