Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 这个伪代码的时间复杂度是多少?_Algorithm_Function_Loops_Math_Time Complexity - Fatal编程技术网

Algorithm 这个伪代码的时间复杂度是多少?

Algorithm 这个伪代码的时间复杂度是多少?,algorithm,function,loops,math,time-complexity,Algorithm,Function,Loops,Math,Time Complexity,这是伪代码。如前所述,我试图计算这个函数的时间复杂度。应该是这样的: n + n/3 + n/9 + ... 也许时间复杂度类似于O(nlog(n))我猜?或者log(n)应该是log(n)base 3?有人说时间复杂度是O(n),这对我来说是完全不能接受的 j = n while j >= 1 { for i = 1 to j { x += 1 } j /= 3 } 该算法将在以下情况下运行: n+n/3+n/9+…=~=O(3/2*n)=O

这是伪代码。如前所述,我试图计算这个函数的时间复杂度。应该是这样的:

n + n/3 + n/9 + ... 
也许时间复杂度类似于
O(nlog(n))
我猜?或者
log(n)
应该是
log(n)
base 3?有人说时间复杂度是O(n),这对我来说是完全不能接受的

j = n
while j >= 1 {
    for i = 1 to j {
        x += 1
    }
    j /= 3
}

该算法将在以下情况下运行:

n+n/3+n/9+…=~=O(3/2*n)=O(n)

因为3/2是一个常数。在这里,第k个循环将以n/3k步数运行



请注意与链接问题的关键区别,其中外循环运行
n
次,并且是固定的。

只需对几何级数求和。@AbhishekBansal就像这样
n+n/3+n/9+…
?但这不是O(n)。