算法导论学习笔记---第三章

 

我正在学习算法,用的是称为算法经典之作的《算法导论(第二版)》,这是我第一次在博客上,发表自己的学习笔记,为的是能分享一下自己的学习经验,以及督促自己学习。

 

第三章主要分为以下几点:

1、定义5种渐近记号。

2、介绍几种方法来简化算法的渐近分析。

3、在算法分析中经常见到的一些函数的性质。

 

1、渐近记号

对于渐近记号的定义我就不再赘述,在这里我只写下一些自己认为比较重要的内容。

O与o的判断

O记号,渐近上界

O(g(n))={f(n):存在正常数c和n0,使对所有的n≥n0,有0≤f(n) ≤cg(n)}

 

o记号,非渐近紧确的上界

o(g(n))={f(n):对任意正常数c,存在正常数n0>0,使对所有的n≥n0,有0≤f(n) ≤cg(n)}

从书上给出的定义来看,只有细微的差别(实际上他们的差别是不大):大O为“存在c”,小o为“任意c”。书上还给出了,o的一个定义:

limn->f(n)/g(n)=0

Ω与ω记号

Ω记号,渐近下界

Ω(g(n))={f(n):存在正常数c和n0,使对所有的n≥n0,有0≤cg(n) ≤f(n)}

ω记号,非渐近紧确的下界

ω(g(n))={f(n):对任意正常数c,存在正常数n0>0,使对所有的n≥n0,有0≤cg(n) ≤f(n)}

正如O与o的关系一样,他们的的细微差别也在对c的论述上,f(n)= ω(g(n))也意味着:

limn->f(n)/g(n)=∞

 

等式和不等式中的渐近记号

当渐进记号出现在等式或不等式的右边时,如n=O(n²),我们已经知道了等号表示集合的成员关系:n∈O(n²)。当渐近符号出现在某个公式中时,我们将其解释为一个不在乎其名称的匿名函数。Eg:2n²+3n+1=2n²+Θ(n),即表示2n²+3n+1=2n²+f(n),f(n)为某个集合属于Θ(n)的函数。

有时渐近记号出现在等式的左边,2n²+Θ(n)= Θ(n²),此时,使用以下规则来解释这种等式:无论等号左边的匿名函数怎么选择,总有办法选取等号右边的匿名函数使等式成立。这样上例的含义以及对任意函数f(n)∈Θ(n),存在函数g(n)∈Θ(n²),使对所有的n,2n²+f(n)=g(n)成立,换言之,等号右边提供了较左边更少的细节。

 

2、一个定理

对任意的两个函数f(n)和g(n),当且仅当f(n)=O(g(n))和f(n)= Ω(g(n))

即用渐近上界和渐近下界证明出渐近确界

 

3、函数间的比较

传递性:

f(n)=Θ(g(n))和g(n)=Θ(h(n)),蕴含f(n)=Θ(h(n))

f(n)=O(g(n))和g(n)=O(h(n)),蕴含f(n)=O(h(n))

f(n)=Ω(g(n))和g(n)=Ω(h(n)),蕴含f(n)= Ω(h(n))

f(n)=o(g(n))和g(n)=o(h(n)),蕴含f(n)=o(h(n))

f(n)=ω(g(n))和g(n)=ω(h(n)),蕴含f(n)=ω(h(n))

 

自反性

f(n)=Θf(n)

f(n)=Of(n)

f(n)=Ωf(n)

 

对称性

f(n)=Θ(g(n))当且仅当g(n)= Θ(f(n))

 

转置对称性

f(n)=O(g(n))当且仅当g(n)= O(f(n))

f(n)= ω(g(n))当且仅当g(n)= ω(f(n))

(书上是这样给出的但我看不出对称和转置对称的差别)

 

我们可以将两个函数f与g的渐近比较和两个实数a与b做一个类比

f(n)= Θ(g(n))      a=b

f(n)= O(g(n))       a≤b

f(n)= o(g(n))        a<b

f(n)= Ω (g(n))     a≥b

f(n)= ω(g(n))     a>b

 

三分性:对于实数a、b必有以下情况成立,a>b,a<b,a=b

但并不是所有函数均可以渐近比较,存在f(n) 和g(n),可能f(n)= O(g(n)),和f(n)= Ω(g(n))均不成立。Eg:n和n1+sin n无法利用渐近记号来比较,因为后者的数值在0与2之间变化,即他的极限是一个不确定的数因而无法比较

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值