算法导论练习 3.1 Asymptotic notation

1

c 1 = 1 2 , c 2 = 1 c_1=\frac{1}{2},c_2=1 c1=21,c2=1,因为 f ( n ) , g ( n ) f(n),g(n) f(n),g(n) 均渐近非负,显然有
c 1 ( f ( n ) + g ( n ) ) ≤ m a x ( f ( n ) , g ( n ) ) ≤ c 2 ( f ( n ) + g ( n ) ) c_1(f(n)+g(n))\leq max(f(n),g(n))\leq c_2(f(n)+g(n)) c1(f(n)+g(n))max(f(n),g(n))c2(f(n)+g(n))
根据定义, 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)).


2

( n + a ) b = n b + ( b 1 ) n b − 1 a 1 + ( b 2 ) n b − 2 a 2 + ⋯ + a b = Θ ( n b ) \begin{aligned} (n+a)^b&=n^b+\binom{b}{1}n^{b-1}a^1+\binom{b}{2}n^{b-2}a^2+\cdots+a^b \\ &=\Theta(n^b) \end{aligned} (n+a)b=nb+(1b)nb1a1+(2b)nb2a2++ab=Θ(nb)


3

符号 O ( n 2 ) O(n^2) O(n2) 是符合这样条件的函数 f ( n ) f(n) f(n) 的集合:存在常数 c c c n 0 n_0 n0 使得对所有的 n ≥ n 0 n\geq n_0 nn0,有 0 ≤ f ( n ) ≤ c n 2 0\leq f(n)\leq cn^2 0f(n)cn2。而如果说一个运行时间关于输入规模的函数 T ( n ) T(n) T(n) 属于 O ( n 2 ) O(n^2) O(n2),即是说函数 n 2 n^2 n2 T ( n ) T(n) T(n) 的渐近上界。所以“运行时间至少是渐近上界”的说法没有意义。


4

2 n + 1 = O ( 2 n ) 2^{n+1}=O(2^n) 2n+1=O(2n),可以取 c = 2 , n 0 = 1 c=2,n_0=1 c=2,n0=1

2 2 n ≠ O ( 2 n ) 2^{2n}\neq O(2^n) 22n=O(2n),因为对于 c ⋅ 2 n c\cdot2^n c2n,不论 c c c 的值有多大,总能找到 n 0 > lg ⁡ c n_0>\lg c n0>lgc,使得 2 2 n 0 > c ⋅ 2 n 0 2^{2n_0}>c\cdot 2^{n_0} 22n0>c2n0.


5 ~ 8

参考 CLRS Solutions

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值