确定简单循环的{O-runtime'

时间:2018-01-16 21:46:27

标签: algorithm runtime time-complexity big-o asymptotic-complexity

我在伪代码中有这个简单的循环:

i = 2

while i < n do
    i = i * i

如何根据n确定此算法的Big-O?

在这种情况下,i241625665536等,每次i 1}}本身是平方的。我不确定如何用表达来形容这一点。

1 个答案:

答案 0 :(得分:3)

乍一看,O(log(n))的时间复杂度为n while2^(2^k)是静态的。但是,如果仔细检查,你可以找到紧密的约束。要按照k = 0, 1, 2, ...的步骤执行此操作。例如,对于i,您可以看到2, 4, 16, 246, ...是增长O(log(log(n)))。因此,确切的复杂性为Qout