Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 用求和归纳法证明大O_Algorithm_Big O_Computer Science - Fatal编程技术网

Algorithm 用求和归纳法证明大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

我一直在努力解决这个问题:

Σ(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 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的正常表示法。