数据结构(C语言版) 题集笔记(1.14-1.15):第1章 绪论(预备知识)

14、判断下列各对函数 f(n) 和 g(n),当n→∞ 时,哪个函数增长更快。

具体有四对函数:

  1. f(n)=10^{2}+\ln (n!+10^{n^{3}})
    g(n)=2n^{4}+n+7

  2. f(n)=(\ln (n!)+5)^{2}
    g(n)=13n^{2.5}

  3. f(n)=n^{2.1}+\sqrt{x^{4}+1}
    g(n)=(\ln (n!))^{2}n + n

  4. f(n)=2^{n^{3}}+(2^{n})^{2}
    g(n)=n^{n^{2}}+x^{5}

解题方法
为了比较两个函数在 
𝑛→∞时的增长速率,通常可以计算它们的比值的极限:

\lim_{x\to \infty }\frac{f(x)}{g(x)}
根据极限的结果:如果极限为 0,则 g(n) 增长更快。如果极限为常数 c>0,则两者增长速率相当。如果极限为 +∞,则 f(n) 增长更快。在实际操作中,可以忽略低阶项和常数系数,专注于主导项的增长速率。

(1)
f(n)=10^{2}+\ln (n!+10^{n^{3}})
g(n)=2n^{4}+n+7

题解分析:

步骤一:n!和 10^{n^{3}}的增长速度比较,10^{n^{3}}是指数级增长,n!是阶乘增长

使用极限法\lim_{x \to\infty }\frac{n!}{10^{n^{3}}}

对n!和 10^{n^{3}}取对数

斯特林公式:\ln(n!)\approx n\ln n - n + \frac{1}{2}\ln (2\pi n)

n\rightarrow \infty ,n!对数\ln (n!)的主导项为n\ln n - n

10^{n^{3}}的对数n^{3}\ln n

\ln \frac{n!}{10^{n^{3}}} = n\ln n - n - n^{3}\ln n \rightarrow -\infty

\lim_{x \to\infty }\frac{n!}{10^{n^{3}}} = e^{-\infty } = 0 

所以f(n)=10^{2}+\ln (n!+10^{n^{3}})的主导项 \ln (10^{n^{3}})

g(n)=2n^{4}+n+7的主导项 2n^{4}

步骤二:使用极限法\lim_{x \to\infty }\frac{\ln (10^{n^{3}})}{2n^{4}}=\lim_{x \to\infty }\frac{^{n^{3}}\ln (10)}{2n^{4}}\rightarrow 0

结论: g(n)的增长速度远快于 f(n)。

(2)
f(n)=(\ln (n!)+5)^{2}
g(n)=13n^{2.5}

题解分析

斯特林公式:\ln(n!)\approx n\ln n - n + \frac{1}{2}\ln (2\pi n)

n\rightarrow \infty ,n!对数\ln (n!)的主导项为n\ln n - n

f(n)的主导项:(n\ln n )^{2}

g(n)主导项:13n^{2.5}

\lim_{x \to\infty }\frac{f(x)}{g(x)}=\lim_{x \to\infty }\frac{n^{2}(\ln n)^{2}}{13n^{2.5}}\lim_{x \to\infty }\frac{(\ln n)^{2}}{13n^{0.5}}\rightarrow 0

结论: g(n)的增长速度远快于 f(n)。

(3)
f(n)=n^{2.1}+\sqrt{x^{4}+1}
g(n)=(\ln (n!))^{2} + n

题解分析:

f(n)的主导项n^{2.1}

g(n)的主导项计算:

斯特林公式:\ln(n!)\approx n\ln n - n + \frac{1}{2}\ln (2\pi n)

n\rightarrow \infty ,n!对数\ln (n!)的主导项为n\ln n - n

g(n)的主导项(n\ln n)^{2}

\lim_{x \to\infty }\frac{f(x)}{g(x)}=\lim_{x \to\infty }\frac{n^{2.1}}{n^{2}(\ln n)^{2}}=\lim_{x \to\infty }\frac{n^{0.1}}{(\ln n)^{2}}\rightarrow \infty

结论: f(n)的增长速度远快于 g(n)。

(4)
f(n)=2^{n^{3}}+(2^{n})^{2}
g(n)=n^{n^{2}}+x^{5}

题解分析:

f(n)的主导项:2^{n^{3}}

g(n)的主导项:n^{(n^{2})}

\lim_{x \to\infty }\frac{f(x)}{g(x)} = \lim_{x \to\infty }\frac{2^{n^{3}}}{n^{n^{2}}}

f(n)的主导项取对数 n^{3}\ln 2

g(n)的主导项取对数n^{2}\ln n

\lim_{x \to\infty }\frac{\ln f(x)}{\ln g(x)}=\lim_{x \to\infty }\frac{n^{3}\ln 2}{n^{2}\ln n}=\lim_{x \to\infty }\frac{n\ln 2}{\ln n}\rightarrow \infty

\ln f(x)增长比\ln g(x)快,

结论f(n) 比g(x)增长快。

1.15试用数学归纳法证明

(1)\sum_{i=1}^{n}i^{2}=n(n+1)(2n+1)/6 (n>=0)

证明步骤:

1、验证n=1时,等式成立

\sum_{i=1}^{n}i^{2} = \sum_{i=1}^{1}1^{2}=1

n(n+1)(2n+1)/6 = (1*2*3)/6 = 6/6 = 1

n=1时,等式成立。

2、归纳假设对于某个正整数 k>=1,等式成立,即

\sum_{i=1}^{k}i^{2}=k(k+1)(2k+1)/6

3、归纳证明n=k+1时,等式也成立。

\sum_{i=1}^{k+1}i^{2} = \sum_{i=1}^{k}i^{2}+(k+1)^{2}

根据归纳假设

\sum_{i=1}^{k}i^{2}=k(k+1)(2k+1)/6

\sum_{i=1}^{k+1}i^{2} =k(k+1)(2k+1)/6 + (k+1)^{2}

= (k+1)[(k*(2k+1) + 6(k+1))]/6

=(k+1)[2(k)^{2}+k+6k+6]/6

=(k+1)(k+2)(2k+3)

=(k+1)(k+1+1)[2(k+1)+1]

等式也成立。

4、根据数学归纳法(n>=0),\sum_{i=1}^{n}i^{2}=n(n+1)(2n+1)/6 成立。

(2)\sum_{i=0}^{n}x^{i}=(x^{n+1} - 1)/(x-1) (x\neq 1,n\geqslant 0)

1、验证n=0,等式成立

n=0

\sum_{i=0}^{n}x^{i}=x^{0} = 1;

(x^{n+1} - 1)/(x-1)=1;

所以等式成立。

2、归纳假设 n = k ,等式成立。

即:\sum_{i=0}^{k}x^{i}=(x^{k+1} - 1)/(x-1)

3、归纳证明n=k+1时,等式也成立。

\sum_{i=0}^{k}x^{i}=(x^{k+1} - 1)/(x-1)

\sum_{i=0}^{k+1}x^{i}=\sum_{i=0}^{k}x^{i}+x^{k+1}=(x^{k+1} - 1)/(x-1)+x^{k+1}

=[(x^{k+1} - 1) + x^{k+1}(x-1)]/(x-1)

=(x^{k+1} - 1 + x^{k+2} - x^{k+1})/(x-1)

=(x^{k+2}-1)/(x-1)

=(x^{k+1+1}-1)/(x-1)

等式也成立。

4、根据数学归纳法x\neq 1,n\geqslant 0\sum_{i=0}^{n}x^{i}=(x^{n+1} - 1)/(x-1) 成立。

(3)\sum_{i=1}^{n}2^{i-1}  = 2^{n} - 1  (n\geq 1)

1、验证n=1等式成立。

\sum_{i=1}^{n}2^{i-1} = \sum_{i=1}^{1}2^{i-1} = 2^{1-1} = 1;

2^{n} - 1 = 2^{1} - 1 = 1;

所以 \sum_{i=1}^{1}2^{i-1}=2^{1} - 1 等式成立。

2、归纳假设n=k,等式成立。

\sum_{i=1}^{k}2^{i-1}  = 2^{k} - 1

3、归纳证明n=k+1,等式成立

\sum_{i=1}^{k+1}2^{i-1}  = 2^{k} - 1 + 2^{k+1-1} = 2*2^{k}-1 = 2^{k+1} -1

等式也成立。

4、根据数学归纳法(n\geq 1)\sum_{i=1}^{n}2^{i-1}  = 2^{n} - 1 成立。

(4)\sum_{i=1}^{n}(2i-1) = n^{2}   (n\geq 1)

1、证明n=1时等式成立

\sum_{i=1}^{n}(2i-1) = \sum_{i=1}^{1}(2i-1) = 2-1 = 1;

n^{2} = 1^{2} = 1;

\sum_{i=1}^{1}(2i-1) = 1^{2}等式成立。

2、归纳假设n=k,等式成立

\sum_{i=1}^{k}(2i-1) = k^{2}

3、证明n=k+1,等式成立。

 \sum_{i=1}^{k+1}(2i-1) = k^{2} + 2(k+1) -1 = k^{2} +2k + 1 = (k+1)^{2}

等式成立。

4、根据数学归纳法(n\geq 1)\sum_{i=1}^{n}(2i-1) = n^{2} 成立。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值