以下是什么时间的复杂性?

时间:2014-11-26 12:25:52

标签: time-complexity

我见过很多这类问题,但我仍然无法明确迭代。

for i=1...n
 for j=1..i
  k=n
  while (k>2)
   k=k^(1/3)

1 个答案:

答案 0 :(得分:5)

两个for循环合并O(n^2),内循环为O(log2(log2(n)) [*]。因此,总体复杂性为O(n^2*log2(log2(n)))

要查找内循环的迭代次数m,我们需要为m求解以下内容:

n = 2^(3^m)

这提供了log3(log2(n)),它与O(log2(log2(n))相同(使用相同的日志库来保持一致性)。

[*]假设您的注释中k^(1/3)k的立方根。