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)。