每增加一个 n 就加倍的算法的 bigO 是多少?

What is the bigO of an algorithm that doubles with each added n?

只是我用我写的一些代码观察到的:

n = 24, time = 3s
n = 25, time = 6s
n = 26, time = 12s
n = 27, time = 24s
n = 28, time = 48s

光看这个数字,这段代码的bigO是什么?我想说 2*n,但我们知道常数并不重要。它只是 O(n) 吗?看起来不像。

编辑:2^N?

所以,你的意思是 time(n) = time(n-1) * 2 ?

是的,那是 time(n) = 2^n

t(n) = 2*t(n-1) = 2*(2*t(n-2)) = 2*2*t(n-2) = 2*2*2t(n-3) = 2^i*t(n-i)

t(n) = 2^n*t(n-n) = 2^n*t(0) = 2^n