算法导论 练习题 3.2-4

首先证明f(n)多项式有界的充分必要条件是lgf(n)=O(lgn)

1、若存在常数c和n0,当n>=n0时,f(n)<c*n的k次方

则lg(f(n))<klg(cn)=klgc+klgn

根据上式容易证明,lg(f(n))=O(lgn)

2、若lg(fn)=O(lgn)

则存在常数c和n0,当n>=n0,lg(f(n))<clgn

所以f(n)<n的c次方


根据上面证明出来的公式,来证明两个小题。

1、设f(n)=(lgn)!,由公式3.19,lg(n!)=θ(nlgn),得lg(f(n))=lg((lgn)!)=θ(lgnlg(lgn))

则存在常数c和n0,当n>=n0时,lg(f(n))>=clgnlg(lgn)

由于lg(lgn)是单调递增函数,总可以在n>=n0的范围内找到n>=n1,使得clg(lgn)>=1

则此时lg(f(n))>=lgn,并不能满足lgf(n)=O(lgn)

所以(lgn)!并不是多项式有界函数。

2、设f(n)=(lglgn)!,由公式3.19,lg(n!)=θ(nlgn),得lg(f(n))=lg((lglgn)!)=θ(lglgnlglglgn)

因为对于任意的n>1,lglglgn<lglgn,则存在常数c和n0,使得n>=n0时,lg(f(n))<=c(lglgn)²

又因为任意多项式函数都比任意多对数函数增长快,所以c(lglgn)²=O(lgn)

所以lg(f(n))=O(lgn)

则f(n)=(lglgn)!多项式有界。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值