- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2015-第2章
sss * * * * 计算机科学学院 王小明 (博士/教授/博士生导师) Email: wangxm@snnu.edu.cn 每节一经典 计算机科学是问题驱动的科学 纯数学是理论驱动的科学 √算法分析的目的 (1)深入准确理解问题本质及可能的求解技术 (2)探讨某种具体算法适用于解决那类问题,或某类问题宜采用哪种算法 √算法评价指标体系 运行时间 存贮空间 易理解 易编码 易调试 易维护 第2章 算法分析基础 √时间复杂度估算 算法执行时间=∑(原操作的执行次数×原操作的执行时间) 语句频度:指该语句重复执行的次数 一个算法中所有语句的频度之和构成了该算法的运行时间。 例1. for(j=1;j=n;j=j+1) for(k=1;k=n;k=k+1) x=x+1 语句 x=x+1,k=n,k=k+1的频度分别是n2; 总频度是:3n2 语句 i=1,k=1的频度分别是1;总频度是:2 语句 j=n,j=j+1的频度分别是n;总频度是:2n 因此,算法运行时间(语句总频度)为:3n2 +2n+2 第2章 算法分析基础 √时间复杂度估算 如果算法比较复杂,通常选择一种对于所研究的问题来说最基本的原操作, 以它在算法中重复执行的次数作为算法运行时间的衡量标准。 这个原操作多数 情况下是最深层次循环体内的语句中的原操作。 例2.2. 矩阵乘法算法:for(i=1;i=n;i=i+1) for(j=1;j=n;j=j+1) {c[i,j]=0; for(k=1;k=n;k=k+1) c[ij]=c[i,j]+a[i,k]*b[i,k]; } 第2讲 算法分析基础 该算法最重要的基本操作是语句 c[I,j]=c[I,j]+a[I,k]*b[I,k] 由于它在三重循环之内,所以它 的频度是n3. 我们称该算法的时间 复杂度是n3, 表示为O(n3). √大O表示法 例2.3 当一个算法的运行时间为表达式3n4+n2+1时,由于当n足够大时, 表达式的值约等于n4,我们说该表达式与n4的数量级相等,称n4为这个算法的 渐近时间复杂度,简称算法的时间复杂度,记作:T(n)=O(n4). 其中,O是Order的首字母,表示数量级。两个表达式f(n)与g(n)的数量 级相等定义如下: 定义2.1 设f(n)和g(n)是一个关于正整数n的函数,如果存在一个常数C,使 极限 则称f(n)和g(n)是相同数量级的函数。 第2讲 算法分析基础 √常用算法时间复杂度表示形式 O(1): 常数级,如 3; O(longn): 对数级,如long 3n;O(n): 线性级 ,如5n; O(nc): 多项式级,如n3; O(cn): 指数级,如2n ; O(n!): 阶乘级,如 3n! 以上时间复杂度的大小排列如图所示。 对复杂算法,可以把它分隔成容易估 算的几个部分,然后再利用O的求和 原则得到算法总的时间复杂度。 T(n)=T1(n)+ T2(n)+…+ Tm(n) =O(max(f1(n), f2(n),…, fm(n))) 第2讲 算法分析基础 √算法时间复杂度上、下界 复杂度上、下界是用来估计解决某个问题所需资源(时间、空间)的复杂程度的 界限函数。注意:算法复杂度与问题复杂度的区别。如果找到解决某问题的算法 ,算法复杂度为u(n),则u(n)是问题本身复杂度的一个上界。如果对解决某个问 题的所有算法而言, 算法复杂度均大于l(n),则l(n)是该问题复杂度的一个下界。 算法所需的时间总量的上界(最大值)用符号O表示,定义为: 定义2.2 设f(n)和g(n)是一个关于正整数n的函数,如果存在两个正整数c和n0,对 于所有的n≥n0,有|f(n)|≤c|g(n)|,则记作 f(n)=O(g(n))。 算法所需的时间总量的下界(最小值)用符号Ω表示,定义为: 定义2.3 设f(n)和g(n)是一个关于正整数n的函数,如果存在两个正整数c和n0,对 于所有的n≥n0,有|f(n)|≥c|g(n)|,则记作 f(n)=Ω(g(n))。 第2讲 算法分析基础 √小o和?表示法 定义2.4 设f(n)和g(n)是一个关于正整数n的函数,当
您可能关注的文档
- 2014年度湖北高等学校教学名师申报表 - 季后赛.doc
- 2014年高考数学复习abc梯度练习:专题26幂函数与二次函数.doc
- 2014年铸锭质量趋势分析.ppt
- 2015 年电子资源订购及使用情况问卷调查统计.pdf
- 2015 report on annual earnings and hours survey 2015年收入及工 .pdf
- 2015 年度 - 喇沙小学la salle primary school.pdf
- 2015-2016 周年校务计划 - 大埔官立小学.pdf
- 2015-2016 周年校务计划 - 港澳信义会明道小学.pdf
- 2015-2016学年安徽省合肥四十二中八年级(上)期中思想品德试卷.doc
- 2015-2016重点化学品法规汇总.doc
- 2015092317005420150911核心素养发展.ppt
- 2015092679328145 - matlab代做.doc
- 2015092682281753 - matlab代做.doc
- 2015周年计划 - 圣公会置富始南小学.pdf
- 2015届高一寒假作业6第四章 物质的输入和输出 (时间:45分钟满分 .doc
- 2015年之后发展议程中的卫生定位世卫组织的讨论文件.pdf
- 2015年全国中小学生统计图表设计创意活动正式 - 中国统计教育学会.pdf
- 2015年10月4日佛山强龙卷风灾害过程浅析 - 佛山气象局.pdf
- 2015年度福州市建筑节能与绿色建筑监督检查情况一览表.doc
- 2015年智能制造试点示范项目 - 数字水泥.doc
文档评论(0)