Algorithm 用求和归纳法证明大O
我一直在努力解决这个问题: Σ(k=0,n)3k = O(3n) ∑(k=0,n)3k=O(3n) 我一直在网上浏览各种各样的东西,但我似乎仍然无法解决它。我知道这涉及到大O的正式定义Algorithm 用求和归纳法证明大O,algorithm,big-o,computer-science,Algorithm,Big O,Computer Science,我一直在努力解决这个问题: Σ(k=0,n)3k = O(3n) ∑(k=0,n)3k=O(3n) 我一直在网上浏览各种各样的东西,但我似乎仍然无法解决它。我知道这涉及到大O的正式定义 |f(x)| <= C*|g(x)|, x>=k | f(x)|=k 因为它们是相同的,我假设C是我必须通过归纳找到的某个值,来证明原始陈述,并且k=0 谢谢你的帮助 Σ(k=0,n)3k = 30 + 31 + ... + 3n = (1 - 3n+1) / (1 - 3) ; sum of
|f(x)| <= C*|g(x)|, x>=k
| f(x)|=k
因为它们是相同的,我假设C是我必须通过归纳找到的某个值,来证明原始陈述,并且k=0
谢谢你的帮助
Σ(k=0,n)3k
= 30 + 31 + ... + 3n
= (1 - 3n+1) / (1 - 3) ; sum of geometric series
= (3/2)*3n - k
<= c*3n ; for c >= 3/2
= O(3n)
∑(k=0,n)3k
= 30 + 31 + ... + 3n
=(1-3n+1)/(1-3);几何级数和
=(3/2)*3n-k
= 3/2
=O(3n)
您可以将其重写为3n*(1+1/3+1/9+…1/3n)
这个总数是有上限的。计算无限级数的极限
从那里,很容易得到一个好的C,例如:2。这里不需要诱导;该和是一个几何级数,具有闭式解
= 1(1-3^(n + 1))/(1-3) = (3^(n + 1) - 1)/2
= (3*3^n - 1)/2
选择C=3/2和F=3/2*3^n-1/2,G=3^n,这满足了O(3^n)的要求,但实际上,尽管这可能被认为是非正式的和草率的,但你并不太担心精确常数,因为任何常数都可以满足大O的要求。我认为这个问题更适合于“因为它们是一样的”这表明您认为这项任务有特殊之处,因为
=
符号。没有,这是大O的正常表示法。