代码改变世界

第三章 函数的增长

2017-09-13 21:48  szn好色仙人  阅读(403)  评论(0编辑  收藏  举报
//参考博文:http://blog.csdn.net/so_geili/article/details/53353593


//1.渐近效率:
A:指的是当输入规模无限增加时,在极限中,算法的运行时间如何随着输入规模的变大而增加
B:通常,渐近的表示某个算法对除很小的输入外的所有情况都将是最好的选择


//2.Θ记号的数学含义:
A:方式一:设f(n)和g(n)是定义域为自然数集合的函数。如果limn→∞f(n)/g(n)存在,并且等于某个常数c(c>0)
	那么f(n)=Θ(g(n))。通俗理解为f(n)和g(n)同阶,Θ用来表示算法的精确阶
B:方式二:Θ(g(n))={f(n):存在正常量c1、c2和n0,使得对所有n≥n0,有0≤c1g(n)≤f(n)≤c2g(n)}若存在正常量c1、c2,
	使得对于足够大的n,函数f(n)能“夹入”c1g(n)与c2g(n)之间,则f(n)属于集合Θ(g(n)),记作f(n)∈Θ(g(n))。作为代替,我们通常记f(n)=Θ(g(n))
C:称f(n)为g(n)的渐近紧确界


//3.O记号的数学含义:
A:定义:设f(n)和g(n)是定义域为自然数集N上的函数。若存在正数c和n0,使得对一切n≥n0都有0≤f(n)≤cg(n)成立,则称f(n)的渐进的上界是g(n),记作f(n)=O(g(n))
	通俗的说n满足一定条件范围内,函数f(n)的阶不高于函数g(n)
B:根据符号O的定义,用它评估算法的复杂度得到的只是问题规模充分大时的一个上界。这个上界的阶越低,评估越精确,越有价值
C:称f(n)为g(n)的渐近上界


//4.Ω记号的数学含义:
A:定义:设f(n)和g(n)是定义域为自然数集N上的函数。若存在正数c和n0,使得对一切n≥n0都有0≤cg(n)≤f(n)成立,则称f(n)的渐进的下界是g(n),记作f(n)=Ω(g(n))
	通俗的说n满足一定条件范围内,函数f(n)的阶不低于函数g(n)。
B:根据符号Ω的定义,用它评估算法的复杂度得到的只是问题规模充分大时的一个下界。这个下界的阶越高,评估越精确,越有价值
C:称f(n)为g(n)的渐近下界
这里写图片描述
 
 
//5.
定理:对任意两个函数f(n)和g(n),我们有f(n)=Θ(g(n)),当且仅当f(n)=O(g(n))并且f(n)=Ω(g(n))

//6.o的数学含义:
A:定义1:设f(n)和g(n)是定义域为自然数集N上的函数。若对于任意正数c,都存在n0,使得对一切n≥n0都有0≤f(n)<cg(n)成立,则称f(n)的渐进的非紧确上界是g(n),记作f(n)=o(g(n))
	通俗的说n满足一定条件范围内,函数f(n)的阶低于函数g(n)。 
B:定义2:设f(n)和g(n)是定义域为自然数集合的函数。如果limn→∞f(n)/g(n)=0,那么f(n)=o(g(n))。通俗理解为f(n)低于g(n)的阶。
C:称f(n)为g(n)的非渐近紧确上界


//7:ω的数学含义:
A:定义1:设f(n)和g(n)是定义域为自然数集N上的函数。若对于任意正数c,都存在n0,使得对一切n≥n0都有0≤cg(n)<f(n)成立,则称f(n)的渐进的非紧确下界是g(n),记作f(n)=ω(g(n))
	通俗的说n满足一定条件范围内,函数f(n)的阶高于函数g(n)。 
B:定义2:设f(n)和g(n)是定义域为自然数集合的函数。如果limn→∞f(n)/g(n)=∞,那么f(n)=o(g(n))。通俗理解为f(n)高于g(n)的阶。
C:称f(n)为g(n)的非渐近紧确下界
记号含义通俗理解
(1)Θ(西塔) 紧确界。 相当于”=”
(2)O (大欧) 上界。 相当于”<=”
(3)o(小欧) 非紧的上界。 相当于”<”
(4)Ω(大欧米伽) 下界。 相当于”>=”
(5)ω(小欧米伽) 非紧的下界。 相当于”>”

 

这里写图片描述