算法导论 第三章 函数的增长 3.2习题个人解答

原创 2015年11月21日 20:45:20

3.2-1 证明:若f(n)和g(n)是单调递增的函数,则f(n)+g(n)也是单调递增的,此外,若f(n)和g(n)是非负的,则f(n)*g(n)也是单调递增的.

 

证:

1.取任意实数m>n,总有 f(m)+g(m)-[f(n)+g(n)] ≥ 0,故它是单调递增的.

2.取任意实数m>n,

l 若f(m),f(n),g(m),g(n)都为正,那么就有

f(m)*g(m)/[f(n)*g(n)] >=1,所以单调递增

l 若其中一个为0,情况较难阐述,但是f(n)*g(n)是单调递增显而易见。

 

3.2-2 证明等式(3.16)


证: a^logb(c)

=  a^[loga(c)/loga(b)]                 换底公式

=  [a^loga(c)]^loga(b)

= c^logb(a)

所以有 a^logb(c) = c^logb(a)


3.2-3 证明等式(3.19),并证明n! = ω(2^n)且

n! = o(n^n)


证:lg(n!) = Θ(nlgn)

1. ∵lg(n!) = ∑(i=1~n)lgi <= ∑(i=1~n)lgn = nlgn

∴lg(n!) = O(nlgn)

2. ∑(i=1~n)lgi = ∑(i=1~n/2)lgi + lg(n-i)

= ∑(i=1~n/2)lgi*(n-i) > ∑(i=1~n/2)lg(n-1)

= n*lg(n-1)/2

所以 lg(n!) = Θ(nlgn)

 

lim(n->∞) 2^n / n! = 0

同理lim(n->∞)n!/n^n = 0

所以n! = ω(2^n)

  n! = o(n^n)


定义ceil(x) = x的向上取整,floor(x) = x 的向下取整

*3.2-4函数ceil(lgn)!多项式有界吗?函数ceil(lglgn)! 有界吗?

 

证:要证明ceil(lgn)!多项式有界,只需证明lg[ceil(lgn)!]=O(lgn)即可。

lg[ceil(lgn)!] = Θ(ceil(lgn)*lg[ceil(lgn)]

  = Θ(lgn*lglgn)

  = ω(lgn)

所以前者多项式无界。

 

lg[ceil(lglgn)!] = Θ(lglgn*lglglgn)

    = o[(lglgn)^2]

    = o[lg^2(lg)n]

    = o(lgn)

lg[ceil(lglgn)!] = o(lgn)蕴含 lg[ceil(lglgn)!] = O(lgn),

所以后者多项式有界。

 

*3.2-5如下两个函数中,哪一个渐近更大些: lg(lg*n)还是 lg*(lgn)


lg*(lgn) = lg*n - 1

显然渐近时,lg*n - 1 > lg(lg*n) 

所以 lg*(lgn)更大些

 

3.2-6证明:黄金分割率φ及其共轭数 `φ都满足方程x^2 = x + 1

这个代入就OK了,略

 

3.2-7 用归纳法证明:第i个斐波拉契数满足

Fi = (φ^i - `φ^i) / √5

其中φ是黄金分割率,且`φ是其共轭数


证:

1.当i = 1 时,F1 = 1 = (φ - `φ) / √5

2. 设i = k-1,k-2时成立,即

Fk-1 = (φ^(k-1) - `φ^(k-1)) / √5

Fk-2 = (φ^(k-2) - `φ^(k-2)) / √5

Fk = Fk-1 + Fk = (φ^(k) - `φ^(k)) / √5

得证

 

3.2-8 证明:klnk = Θ(n) 蕴涵着 k = Θ(n/lnn)

 

证: 此证明需要用到Θ的自反性

∵n = Θ(k*lnk)

∴n/lnn = Θ[k/lnk * ln(k/lnk)]

       = Θ[k - k/ln^2(k)]

       = Θ(k)

得证

版权声明:本文为博主原创文章,未经博主允许不得转载。

《算法导论》第三章-思考题(参考答案)

算法导论(第三版)参考答案:思考题3.1,思考题3.2,思考题3.3,思考题3.4,思考题3.5,思考题3.6...
  • victoryaoyu
  • victoryaoyu
  • 2017年07月28日 11:13
  • 302

算法导论3.2练习题

3.2练习题答案
  • qq_31046447
  • qq_31046447
  • 2017年07月27日 20:40
  • 213

算法导论 练习题 3.2-4

1
  • niewei1986
  • niewei1986
  • 2017年03月19日 16:18
  • 367

算法导论课后习题解析 第三章

算法导论课后习题解析 第三章 3.1-1 分情况讨论 当f(n)≥g(n)f(n)≥g(n)时,max(f(n),g(n))=f(n)max(f(n),g(n))=f(n),存在...
  • sushauai
  • sushauai
  • 2016年01月10日 11:07
  • 1807

算法导论 第三章 函数的增长,3.1练习个人解答(Sor)

3.1-1 假设f(n)与g(n)都是渐近非负函数。使用Θ 记号的基本定义来证明max(f(n),g(n)) = Θ(f(n)+g(n))。 证:不妨假设max(f(n),g(n)) = f(n)...
  • Songer_Wa
  • Songer_Wa
  • 2015年11月20日 20:36
  • 826

算法导论(第三版) 第三章思考题

http://www.cnblogs.com/Jiajun/archive/2013/05/06/3063574.html 3-1 a. P(n)=∑i=0daini=n...
  • corpsepiges
  • corpsepiges
  • 2015年04月22日 13:16
  • 1386

算法导论 练习题 3.2-8

1
  • niewei1986
  • niewei1986
  • 2017年03月19日 23:36
  • 267

算法导论 全(第二版).pdf

  • 2014年08月18日 08:15
  • 48.58MB
  • 下载

算法导论 练习 2.2

2.2-1答案:θ(n)θ(n) 渐进符号的定义会在第三章里明确给出,所以这里就不写证明了,详细证明见第三章习题,好多好多啊2.2-2选择排序,数据结构课程基本排序算法之一代码:SELECTION-...
  • zslomo
  • zslomo
  • 2016年04月15日 21:12
  • 623

算法导论 学习笔记 第三章 函数的增长

这一章讲了两大部分。第一部分是讲了渐进符号,有theta,bigO,bigΩ,littleo,littleΩ。第二部分讲了几个常见的数学知识。渐进符号Θ符号渐进符号表示的都是算法的输入规模无限大的时候...
  • hacker_letu
  • hacker_letu
  • 2017年07月27日 12:35
  • 110
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:算法导论 第三章 函数的增长 3.2习题个人解答
举报原因:
原因补充:

(最多只允许输入30个字)