Algorithm 一个算法的bigO是什么,它每加一个n就加倍?

Algorithm 一个算法的bigO是什么,它每加一个n就加倍?,algorithm,big-o,Algorithm,Big O,这是我在写代码时观察到的: 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?那么,你的意思是时间(N)=时间(N-1)*2 是的,这就是时间(n)=2^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?

那么,你的意思是
时间(N)=时间(N-1)*2


是的,这就是时间(n)=2^n这个问题的形式不太好,因为太多的事情可能会影响你的运行时间,例如,每次你调用它时,一些资源会限制你。是的,它可能会随着
2^N
的变化而变化,但我们并不确定这一点。而
n=25
的时间也翻了一番,这让人产生了怀疑。你的意思可能是第一行的
n=24
。如果你写了代码,为什么要从小n的运行时样本中猜测复杂性?你肯定已经知道它是干什么的,不用猜了吧?是的,@Rafaftaxin谢谢你的打字错误
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