《算法导论》第三章 习题和笔记

本文详细解答了《算法导论》第三章的若干习题,涉及渐进记号的证明,如max(f(n),g(n))=Θ(f(n)+g(n)),以及对O(n²)表述的解释。通过具体例题阐述了o(g(n))、ω(g(n))的关系,并给出了Ω(g(n,m))和Θ(g(n,m))的定义。" 126135108,1368632,MySQL 查询实战:复旦大学GPA最高值与男性用户分析,"['数据库', 'sql', '数据查询', '数据分析', '复旦大学']
摘要由CSDN通过智能技术生成

《算法导论》第三章 习题和笔记

1.渐进记号

       这是本章中最核心的部分,在《算法导论》的第25页至29页描述了5个渐进记号,定义如下:
在这里插入图片描述

       

2.习题

练习题

3.1-1 假设 f ( n ) f(n) f(n) g ( n ) g(n) g(n)都是渐进非负函数。使用 Θ \Theta Θ记号的基本定义来证明:
m a x ( f ( n ) , g ( n ) ) = Θ ( f ( n ) + g ( n ) ) max(f(n),g(n)) = \Theta (f(n) +g(n)) max(f(n),g(n))=Θ(f(n)+g(n))
解:
       不妨设 m a x ( f ( n ) , g ( n ) ) = f ( n ) max(f(n),g(n))=f(n) max(f(n),g(n))=f(n),并且问题等价为:是否存在 c 1 c_1 c1 c 2 c_2 c2 n 0 n_0 n0,使得下述不等式成立:
0 ≤ c 1 ( f ( n ) + g ( n ) ) ≤ f ( n ) ≤ c 2 ( f ( n ) + g ( n ) ) ( 1 ) 0 \leq c_1(f(n)+g(n)) \leq f(n) \leq c_2(f(n)+g(n))\quad\quad\quad\quad(1) 0c1(f(n)+g(n))f(n)c2(f(n)+g(n))(1)

       已知 f ( n ) f(n) f(n) g ( n ) g(n) g(n)均为渐进非负函数,即意味着:
( ∃ N > 0 ( n > N → f ( n ) > 0 ) ) = T (\exists N>0(n>N \rightarrow f(n)>0))= T (N>0(n>Nf(n)>0))=T
       所以必定存在 n 0 n_0 n0使得(1)式可以变形为:
0 ≤ c 1 ( 1 + g ( n ) f ( n ) ) ≤ 1 ≤ c 2 ( 1 + g ( n ) f ( n ) ) ( 2 ) 0 \leq c_1(1+\cfrac {g(n)} {f(n)}) \leq1 \leq c_2(1+ \frac{g(n)} {f(n)})\quad\quad(2) 0c1(1+f(n)g(n))1c2(1+f(n)g(n))(2)
       已知 g ( n ) ≤ f ( n ) g(n)\leq f(n) g(n)f(n),那么 g ( n ) f ( n ) ∈ ( 0 , 1 ] \cfrac {g(n)}{f(n)} \in (0, 1] f(n)g(n)(0,1],所以当 c 1 ≤ 1 2 、 c 2 ≥ 1 c_1 \leq \frac{1}{2}、c_2\geq 1 c121c21时使得(2)式成立。

综上所述,存在一个充分大的 n 0 n_0 n0 c 1 ≤ 1 2 、 c 2 ≥ 1 c_1\leq \frac{1}{2}、c_2 \geq 1 c121c21使得(1)式成立,证毕。

另外,当 f ( n ) = m i n ( f ( n ) , g ( n ) ) f(n)=min(f(n),g(n)) f(n)=min(f(n),g(n))时,分析(2)式即可得到: m i n ( f ( n ) , g ( n ) ) ≠ Θ ( f ( n ) + g ( n ) ) min(f(n),g(n)) \ne \Theta (f(n) +g(n)) min(f(n),g(n))=Θ(f(n)+g(n))

3.1-2 证明:对任意实常量 a a a b b b,其中 b > 0 b>0 b>0,有:
( n + a ) b = Θ ( n b )

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值