找到尽可能紧的界限?
Find the bounds as tight as possible?
2^n −8 = O(2^n)
It says there are some positive constants c and n0 for which
0 <= f(n) <= cg(n) for all n >= n0
我将其解决为:
2^n −8 <= c2^n
If c = 1, and n0 = 1
1-8 <= 1*1
-7<= 1
then for all n >= n0 it remains true.
这是真的,但我不明白 Find the bounds as tight as possible 是什么意思?
谁能解释一下?
尽可能紧意味着找到一个函数g(n)
具有最小增长阶数使得它仍然满足f(n) = O(g(n))
。在您的示例中,它相对简单(因此我相信您会感到困惑)-只需删除增长最快的术语 (2^n
) 以外的所有内容。
然而,让我们考虑一个示例,其中最紧的界限可能不是很明显 - 斐波那契数列生成器:f(n) = f(n - 1) + f(n - 2)
。找到上限的一种简单方法是进行近似,将 n - 2
替换为 n - 1
得到 f(n) ≈ 2 * f(n - 1)
,即 O(2^n)
。这不是 最紧的 界限 - 通过求解二次方程,您会发现最紧的界限实际上是 Ө(1.61...^n)
- 有关更多详细信息,请参阅 this page。
2^n −8 = O(2^n)
It says there are some positive constants c and n0 for which
0 <= f(n) <= cg(n) for all n >= n0
我将其解决为:
2^n −8 <= c2^n
If c = 1, and n0 = 1
1-8 <= 1*1
-7<= 1
then for all n >= n0 it remains true.
这是真的,但我不明白 Find the bounds as tight as possible 是什么意思? 谁能解释一下?
尽可能紧意味着找到一个函数g(n)
具有最小增长阶数使得它仍然满足f(n) = O(g(n))
。在您的示例中,它相对简单(因此我相信您会感到困惑)-只需删除增长最快的术语 (2^n
) 以外的所有内容。
然而,让我们考虑一个示例,其中最紧的界限可能不是很明显 - 斐波那契数列生成器:f(n) = f(n - 1) + f(n - 2)
。找到上限的一种简单方法是进行近似,将 n - 2
替换为 n - 1
得到 f(n) ≈ 2 * f(n - 1)
,即 O(2^n)
。这不是 最紧的 界限 - 通过求解二次方程,您会发现最紧的界限实际上是 Ө(1.61...^n)
- 有关更多详细信息,请参阅 this page。