如果f(n)=Θ(n)且
g(n)=Θ(n ^ 2),
然后f(n)* g(n)=Θ(n ^ 3)?
答案 0 :(得分:2)
从技术上讲,Θ(n)
是一组函数,因此我们说f
位于 Θ(n)
,而不是f(n)
等于Θ(n)
。
因此,我们要调查的问题是:
让
h(n) = g(n) · f(n) (*)
f ∈ ϴ(n)
和g ∈ ϴ(n^2)
是否意味着h ∈ ϴ(n^3)
?
让我们首先松散地陈述Big-Θ符号的定义
<强>
f ∈ ϴ(g(n))
强>⇨对于某些正常数
k1
,k2
和n0
,以下内容适用:k1 · |g(n)| ≤ |f(n)| ≤ k2 · |g(n)|, for all n ≥ n0 (+)
我们将在下面使用此定义,但在不失一般性的情况下,假设上述f(n)
和g(n)
对所有n
都是非负的。
从上面我们可以说,对于一些正常的常量(c1, c2, n0)
和(d1, d2, m0)
,以下是
f ∈ ϴ(n): c1 · n ≤ f(n) ≤ c2 · n, for all n ≥ n0 (i)
g ∈ ϴ(n^2): d1 · n^2 ≤ g(n) ≤ d2 · n^2, for all n ≥ m0 (ii)
现在,常量集(c1, c2, n0)
(以及(d1, d2, m0)
)不是唯一的; 如果存在这样的集合,则存在无限数量的这样的集合。由于f ∈ ϴ(n)
和g ∈ ϴ(n^2)
成立,所以存在 do 这样的集合,我们可以在不失一般性的情况下假设我们可以找到一组常量(c1, c2, n0)
和(d1, d2, m0)
,c1=d1
,c2=d2
和n0=m0
都有效。因此,我们可以将(i-ii)
重新声明为:
f ∈ ϴ(n): c1 · n ≤ f(n) ≤ c2 · n, for all n ≥ n0 (I)
g ∈ ϴ(n^2): c1 · n^2 ≤ g(n) ≤ c2 · n^2, for all n ≥ n0 (II)
对于一些正常数(c1, c2, n0)
。
现在,自n > n0 > 0
以来,上述不等式(I-II)
中的所有字词都是正数,我们可以直接应用(*)
:
(I) * (II):
c1^2 · n^3 ≤ f(n) · g(n) ≤ c2^2 · n^3, for all n ≥ n0 (iii)
现在,让k1 = c1^2
和k2=c2^2
,并在h(n) = f(n) · g(n)
---之间插入---到(iii)
,产生
k1 · n^3 ≤ h(n) ≤ k2 · n^3, for all n ≥ n0 (III)
这是(+)
h ∈ ϴ(n^3)
的定义,因此我们通过以下方式解决了我们的问题:
对于
h(n)
,(*)
:f ∈ ϴ(n)
和g ∈ ϴ(n^2)
表示h ∈ ϴ(n^3)