- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
1.7算法和程序的性能分析1.7.2时间复杂度时间复杂度实例1。比如,交换i和j的内容。temp=i;i=j;j=temp;以上三个语句的频度均为1,该程序段的执行时间是一个与问题规模n无关的常数。算法的时间复杂度为常数阶,记作O(1)。如果算法的执行时间不随着问题规模n的增加而增长,即使算法中有上千条语句,其执行时间也不过是一个较大的常数。此类算法的时间复杂度是O(1)。1.7算法和程序的性能分析1.7.2时间复杂度时间复杂度实例2。比如,两个n阶方阵的乘积C=A×B中的主要部分。先计算语句频度算法语句对应的语句频度for(i=0;in;i++) n+1(用近似值n也可以)for(j=0;jn;j++) n(n+1)(用近似值n2也可以){c[i][j]=0; n2for(k=0;kn;k++)n2(n+1)(用近似值n3也可以)c[i][j]=c[i][j]+a[i][k]*b[k][j];n3}1.7算法和程序的性能分析1.7.2时间复杂度该算法中所有语句的频度之和为:T(n)=2n3+3n2+2n+1最高阶项是n3,因此时间复杂度是O(n3)。1.7算法和程序的性能分析1.7.2时间复杂度时间复杂度实例3每次count乘以2之后,就距离n更近了一分。也就是说,有多少个2相乘后大于n,则会退出循环。由2x=n得到x=log2n。所以这个循环的时间复杂度为O(log2n)。int?count?=?1;
while?(count??n)
{
??? count?=?count?*?2;}1.7算法和程序的性能分析1.7.2时间复杂度时间复杂度实例4for语句执行了n+1次,在每次for循环中,while循环执行log2n次。因此时间复杂度为O(nlog2n)。intsum=0;for(i=0;in;i++){m=n;while(m1){ m=m/2;sum+=m*n;}}while循环几次?第1次m值为:n第2次m值为:n/2第3次m值为:n/4...第k次m值为:a(=1)n/(2k)≤1k≥log2n1.7算法和程序的性能分析1.7.3空间复杂度一个算法在计算机上运行所占用的存储空间,包括算法本身所占用的存储空间算法的输入输出数据所占用的存储空间算法在运行过程中临时占用的存储空间空间复杂度考虑的是第三个方面,即算法在运行过程中临时占用的存储空间。与时间复杂度类似,空间复杂度不考虑绝对存储空间,而是考虑存储单元个数。1.7算法和程序的性能分析1.7.3空间复杂度空间复杂度:存储单元个数计算值的最高阶项。表示方式:复杂度利用大“O”记号常见的空间复杂度按数量级递增排列,依次为:常数阶0(1)、线性阶0(n)。1.7算法和程序的性能分析1.7.3空间复杂度空间复杂度实例-求三个整数的最大值(1)max(inta,intb,intc){if(ab)if(ac)returna;elsereturnc;elseif(bc)returnb;elsereturnc;?}该算法无需额外存储空间,空间复杂度记为0(1)。1.7算法和程序的性能分析1.7.3空间复杂度空间复杂度实例-求三个整数的最大值(2)max(inta[3]){intc,inti;c=a[0];?for(i=1;i3;i++)if(a[i]c)c=a[i];returnc;}?该算法需要两个额外的存储空间,即变量c和i,空间复杂度是O(1)。8.怎么学习本课程1.8怎么学习本课程1.8.1背景这是一门比较难的课程。往届学生较多反映:不理解(程序或算法),想不出(程序或算法)。那么我们应该怎么学习?1.4算法和程序可读性(可理解性)。可选择的部分技巧:用大括号和缩进来清楚地显示程序层次结构;函数内强内聚,函数间弱耦合;不用全局变量;对不容易理解的常量、变量和语句有必要的注释;每个函数长度不超过100行;函
您可能关注的文档
最近下载
- 常见社区健康问题(症状)规范化全科诊疗路径答案-2025年华医网继续教育.docx VIP
- 2026长沙有色冶金设计研究院有限公司校园招聘笔试参考题库附答案解析.docx VIP
- 2026长沙有色冶金设计研究院有限公司校园招聘考试参考题库及答案解析.docx VIP
- 2026长沙有色冶金设计研究院有限公司校园招聘考试参考试题及答案解析.docx VIP
- 北京市石景山区2024-2025 学年第一学期初二期末 生物试卷(含答案).pdf
- 最新山东地图含市县地图矢量分层可编辑地图PPT模板.pptx VIP
- 服务项目分包管理制度资料.doc VIP
- 卫生间漏水维修方法.doc VIP
- 中国版画史课件.ppt VIP
- 个体营业执照注销申请书.docx VIP
原创力文档


文档评论(0)