算法导论 第三章 函数的增长 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)

得证

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

相关文章推荐

算法导论自做2.3-2

题目: 改写MERGE过程,使之不使用哨兵元素,而是一旦在数组L或数组R中的所有元素都被复制回数组A后,就立即停止,再将另一个数组中余下的元素复制回数组A中。答案:void Merge(int A[...

算法导论 3-2

问题 在下表中,对每一对表达式(A,B),指出A和B渐近关系。 分析 A B O o a) Y b) Y c) d) ...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

《算法导论》系列课后思考题之-第三章《函数的增长》(上)

练习 3.1-1 设f(n)与g(n)都是渐进非负函数。利用Θ记号的基本定义来证明max(f(n), g(n)) =Θ(f(n) + g(n))。 证明:    若证明成立,则存在n>=n0,...

2.3-7 描述一个运行时间为Θ(nlgn)的算法,给定n个整数的集合S和另一个整数x,该算法能确定S中是否存在两个其和刚好为x的元素

描述一个运行时间为Θ(nlgn)的算法,给定n个整数的集合S和另一个整数x,该算法能确定S中是否存在两个其和刚好为x的元素: 思路:1、将结合S的整数按照从递增的顺序排列得到新的集合S2 2、初始...

算法导论 第三章 函数的增长,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)...

算法导论 第三章习题解答

  • 2015年07月31日 12:27
  • 5KB
  • 下载

《算法导论》笔记系列之第三章函数的增长

第三章提出了三个记号来表示函数的渐近紧确界。Θ⁆、Ο ⁆和Ω⁆记号: 在每个部分,标出的n0的值是最小的可能值,任何更大的值也将有效。...

《算法导论》系列课后思考题之-第三章《函数的增长》(下)

3-3 根据渐进增长率排序   等价类   b) n*sinn   3-4 渐进记号的性质     设f(n )和g(n)为渐进正函数。证明或否定以下的假设:        a...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:算法导论 第三章 函数的增长 3.2习题个人解答
举报原因:
原因补充:

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