南斗工作组

很多东西不记下来,总归是回忘记的

[算法每日一学]-算法基础之函数增长--2008.08.06

| |
18:10 , Model.King
/*************************************************************
** 作者:P.Qingliang (P.Qingliang at msn.com)
** 创建时间: 2008-8-6
** 声明:笔记不是教程,这只是我系统学习算法的记录而已,如有错
** 误,欢迎指正。
**
*************************************************************/  

检测算法的时间效率往往是在大规模的输入(n)的情况下进行,当n足够大时,研究算法的运行时间就趋向于研究算法的渐进效率了,因为我们没有必要进行过于精确的计算。在计算机中,有几种标准的方法用于简化算法的渐进分析。

渐进符号
  用以表示算法的渐进时间记号是域为自然数的函数。有时域的范围可以适当的扩充以获得更广的益处。

三种渐进符号:ΘΩΟ
f(n) = Θ(g(n)) 表示的是这样的一个集合:存在c1,c2,当n>n0时,有0 < c1g(n) 点击在新窗口中浏览此图片
(图来自《算法导论》)
它实际上是确定了一个算法的运行时间渐进上界和渐进下界。

对应的Ω用于确定算法的渐进下界(最佳运行时间),Ο用于确定算法的渐进上界(最坏运行时间)

需要注意的是,实际上运行时间并非是n的函数,对于某个特定的n来说,运行时间与具体的输入有关,当我们用渐渐符号来表示算法运行时间时,实际上是在某个特定条件约束下说明的。

方程中的渐进符号
  方程中的渐进符号实际上相当于一个匿名函数f(n),用于表示我们不关注的部分,因为我们没有必要写出我们不关心而又繁琐的某些细节部分(如低阶项)。

对于非精确上界渐进用符号o(g(n))表示,例如2n=o( ),而精确上界渐进则用符号Ο(g(n))表示,例如 .
w与Ω的关系同O与Ο。
类别:问题求解与算法 | Tags: | 0 条评论, 17 次阅读
网友评论(0):
发表评论:

昵称: 
电邮:
网址: