下载此文档

时间复杂度-经典解说.ppt


文档分类:高等教育 | 页数:约48页 举报非法文档有奖
1/48
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/48 下载此文档
文档列表 文档介绍
该【时间复杂度-经典解说 】是由【165456465】上传分享,文档一共【48】页,该文档可以免费在线阅读,需要了解更多关于【时间复杂度-经典解说 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。时间复杂度分析
单击此处添加副标题
汇报人姓名
汇报日期
算法时间复杂度的数学意义
A
义,给定算法A,如果存在函数f(n),当n=k时,f(k)表示算法A在输入规模为k的情况下的运行时间,则称f(n)为算法A的时间复杂度。
B
其中:输入规模是指算法A所接受输入的自然独立体的大小,我们总是假设算法的输入规模是用大于零的整数表示的,即n=1,2,3,……,k,……
C
对于同一个算法,每次执行的时间不仅取决于输入规模,还取决于输入的特性和具体的硬件环境在某次执行时的状态。所以想要得到一个统一精确的F(n)是不可能的。为此,通常做法: 环境因素,假设每次执行时硬件条件和环境条件是完全一致的。 性的差异,我们将从数学上进行精确分析并带入函数解析式。
x=1; for(i=1;i<=n;i++) for(j=1;j<=i;j++) k<=j;k++)
x++运行次数:
例子:
算法的渐近时间复杂度
我们不需要进行如此精确的分析,究其原因: 算法中,进行精确分析是非常复杂的。 多数时候我们并不关心F(n)的精确度量,而只是关心其量级。
考察一个算法的复杂度,一般考察的是当问题复杂度n的增加时,运算所需时间、空间代价f(n)的上下界。
01
进一步而言,又分为最好情况、平均情况、最坏情况三种情况。通常最坏情况往往是我们最关注的。
02
算法复杂度的考察方法
(1)上界函数
定义1 如果存在两个正常数c和n0,对于所有的n≥n0,有
|T(n)| ≤ c|f(n)|
则记作T(n) = Ο(f(n))
含义:
如果算法用n值不变的同一类数据在某台机器上运行时,所用的时间总是小于|f(n)|的一个常数倍。所以f(n)是计算时间T(n)的一个上界函数。
试图求出最小的f(n),使得T(n) = Ο(f(n))。
在分析算法的时间复杂度时,我们更关心最坏情况而不是最好情况,理由如下:
最坏情况给出了算法执行时间的上界,我们可以确信,无论给什么输入,算法的执行时间都不会超过这个上界,这样为比较和分析提供了便利。
虽然最坏情况是一种悲观估计,但是对于很多问题,平均情况和最坏情况的时间复杂度差不多,比如插入排序这个例子,平均情况和最坏情况的时间复杂度都是输入长度n的二次函数。
(2)下界函数
如果存在两个正常数c和n0,对于所有的n≥n0,

|T(n)| ≥ c|g(n)|
则记作T(n) = Ω(g(n))
含义:
如果算法用n值不变的同一类数据在某台机器上运行时,所用的时间总是不小于|g(n)|的一个常数倍。所以g(n)是计算时间T(n)的一个下界函数。
试图求出“最大”的g(n),使得T(n) = Ω(g(n))。

时间复杂度-经典解说 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数48
  • 收藏数0 收藏
  • 顶次数0
  • 上传人165456465
  • 文件大小3.29 MB
  • 时间2025-02-11