证明 对任意实常量a和b,其中b>0,有(n+a)^b=Θ(n^b)
时间: 2023-07-28 20:21:36 浏览: 164
首先,我们可以使用二项式定理展开 `(n+a)^b`:
```
(n+a)^b = C(b,0)*n^b*a^0 + C(b,1)*n^(b-1)*a^1 + ... + C(b,b-1)*n*a^(b-1) + C(b,b)*a^b
```
其中 `C(b,k)` 表示从 `b` 个元素中选择 `k` 个元素的组合数。我们只需要证明,对于任意实常量 `a` 和 `b`,存在正常数 `c1` 和 `c2`,使得当 `n` 充分大时,有:
```
c1 * n^b <= (n+a)^b <= c2 * n^b
```
我们从右边开始证明。我们可以将二项式定理展开式中的每一项都除以 `n^b`,然后取最大项,即当 `k=b` 时的项:
```
(n+a)^b / n^b = C(b,0)*(a/n)^0 + C(b,1)*(a/n)^1 + ... + C(b,b-1)*(a/n)^(b-1) + C(b,b)*(a/n)^b
```
注意到当 `k<b` 时, `(a/n)^k` 随着 `n` 的增大而趋近于零。因此,当 `n` 充分大时,只有最后一项 `C(b,b)*(a/n)^b` 会对结果产生显著的影响。因此,当 `n` 充分大时,有:
```
(n+a)^b / n^b <= C(b,b)*(a/n)^b + 1
```
因为 `b` 和 `a` 都是常数,所以存在正常数 `c2`,使得当 `n` 充分大时,有 `(n+a)^b / n^b <= c2`。因此,我们证明了 `(n+a)^b = O(n^b)`。
现在我们考虑左边的证明。类似地,我们可以将二项式定理展开式中的每一项都除以 `n^b`,然后取最小项,即当 `k=0` 时的项:
```
(n+a)^b / n^b = C(b,0)*(a/n)^0 + C(b,1)*(a/n)^1 + ... + C(b,b-1)*(a/n)^(b-1) + C(b,b)*(a/n)^b
```
因为 `b` 和 `a` 都是常数,所以当 `n` 充分大时,只有第一项 `C(b,0)` 会对结果产生显著的影响。因此,当 `n` 充分大时,有:
```
(n+a)^b / n^b >= C(b,0)*(a/n)^0
```
因为 `C(b,0)=1`,所以上式等价于:
```
(n+a)^b / n^b >= a^0 = 1
```
因此,我们证明了 `(n+a)^b = Ω(n^b)`。
综上所述,我们证明了 `(n+a)^b = Θ(n^b)`。
阅读全文