1 / 49
文档名称:

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

格式:ppt   大小:249KB   页数:49页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

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

上传人:相惜 2020/8/30 文件大小:249 KB

下载得到文件列表

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

文档介绍

文档介绍:     从数学上定义,给定算法A,如果存在函数f(n),当n=k时,f(k)表示算法A在输入规模为k的情况下的运行时间,则称f(n)为算法A的时间复杂度。其中:输入规模是指算法A所接受输入的自然独立体的大小,我们总是假设算法的输入规模是用大于零的整数表示的,即n=1,2,3,……,k,……,每次执行的时间不仅取决于输入规模,还取决于输入的特性和具体的硬件环境在某次执行时的状态。所以想要得到一个统一精确的F(n)是不可能的。为此,通常做法:      ,假设每次执行时硬件条件和环境条件是完全一致的。      ,我们将从数学上进行精确分析并带入函数解析式。:x=1; for(i=1;i<=n;i++) for(j=1;j<=i;j++)         for(k=1;k<=j;k++)             x++; x++运行次数:      很多时候,我们不需要进行如此精确的分析,究其原因:      ,进行精确分析是非常复杂的。      ,大多数时候我们并不关心F(n)的精确度量,而只是关心其量级。(1)考察一个算法的复杂度,一般考察的是当问题复杂度n的增加时,运算所需时间、空间代价f(n)的上下界。(2)进一步而言,又分为最好情况、平均情况、最坏情况三种情况。通常最坏情况往往是我们最关注的。6.(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))。,我们更关心最坏情况而不是最好情况,理由如下:(1)最坏情况给出了算法执行时间的上界,我们可以确信,无论给什么输入,算法的执行时间都不会超过这个上界,这样为比较和分析提供了便利。(2)虽然最坏情况是一种悲观估计,但是对于很多问题,平均情况和最坏情况的时间复杂度差不多,比如插入排序这个例子,平均情况和最坏情况的时间复杂度都是输入长度n的二次函数。,对于所有的n≥n0,有|T(n)|≥c|g(n)|则记作T(n)=Ω(g(n))含义:如果算法用n值不变的同一类数据在某台机器上运行时,所用的时间总是不小于|g(n)|的一个常数倍。所以g(n)是计算时间T(n)的一个下界函数。试图求出“最大”的g(n),使得T(n)=Ω(g(n))。(2)下界函数10.