- 1、本文档共74页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(算法分析的设计)第一章:算法概述.ppt
三种时间复杂性——最坏情况 最坏情况 I*是DN中使T(N,I*)达到Tmax(N)的合法输入 以上三种情况的复杂性从不同角度来反映算法的效率,各有其局限性和用处,但操作性最好且最具有实用价值的是最坏情况下的时间复杂性。 如果无特别说明,T(N)=Tmax(N) 算法的效率分析:实例1 问题:已知不重复且已经按从小到大排好的m个整数的数组A[m],对于给定的整数c,要求寻找一个下标i,使得A[i]=c,若找不到,则返回一个0。 算法1:从头到尾扫描数组A。 procedure search( c) /*c是整型数 */ { i←0; j←0; while jm do { if A[j]=c then i ← j; j←j+1; } return i; } 在最坏的情况下,这个算法要检测A的所有m个分量才能判断在A中找不到等于c的分量. 是否有改进的方法? 用冒泡排序算法按从大到小顺序排列数组的基本运算如下: for i ←1 to n-1 do for j ←1 to n-i do if a[j]a[j+1] then 交换a[j]、a[j+1]; 该算法的运算时间可以用比较次数n(n-1)/2表示,它是问题的输入规模n的函数。 T(n)= n(n-1)/2 n在不同的问题中有不同的表现形式。例如:在数组中找值 为c的分量,问题的规模是数组中分量的个数。遍历一棵二叉树 ,问题的规模是树中的结点数。 算法的效率分析:实例2 冒泡排序算法的改进算法如下: for i ←1 to n-1 do { flag=1; for j ←1 to n-i do if a[j]a[j+1] then {交换a[j]、a[j+1];flag=0;} if flag=1 then break; } 该算法当输入程序已经排好序,运算时间为(n-1)次,最好、平均情况下的时间得到改进,但最坏情况情况下所需时间不变。 使用程序步分析算法 一个程序步(program step)是指在语法上或语义上有意义的程序段,该程序段的执行时间必须与问题实例的规模无关。 templateclass Type void insertion_sort(Type *a, int n) { Type key; // cost times for (int i = 1; i n; i++){ // c1 n key=a[i]; // c2 n-1 int j=i-1; // c3 n-1 while( j=0 a[j]key ){ // c4 sum of ti a[j+1]=a[j]; // c5 sum of (ti-1) j--; // c6 sum of (ti-1) } a[j+1]=key; // c7 n-1 } } 在最好情况下,ti=1, for 1 ? i n; 在最坏情况下,ti =i+1, for 1 ? i n; 分析的简化 由于ci的引入,分析很复杂,由此只考虑语句的执行次数(执行频率),算法的时间复杂度就是各语句执行频率总数 : 复杂性渐近性态 要求用计算机解决的问题越来越复杂,规模越来越大,对这类问题的求解算法作复杂性分析具有特别重要的意义。 分析算法的时间复杂性的目的是为了比较完成同一功能的程序的算法之间的最主要的差别。 两个算法执行步数分别是3n+2和3n+20,则两个算法的时间复杂性不会有太大的差别,这两个程序的时间复杂性至多相差一个常数倍。 对于两个具有时间复杂性2n和cn的两个算法,对于充分大的n,两者的复杂性差别是很大的。 要引进渐进符号(asympto
您可能关注的文档
- (病历质控培训知识班课件)住院病案首页填写与质控.ppt
- (病历质控培训知识班课件)病案质控与法律.ppt
- (病原免疫实验课件)实验三免疫标记技术知识.ppt
- (病原生物和 与免疫学基础)第6章免疫学应用.ppt
- (病原生物和 与免疫学实验)免疫学探索性实验.ppt
- (病原生物和 与免疫学实验)免疫实验二:沉淀反应和 与溶血试验-陈玮琳、翁莉霞.ppt
- (病原生物和 与免疫学实验)实验二基础培养基、细菌接种及 其常用生化反应.ppt
- (病原生物和 与免疫学实验)实验六白喉杆菌、厌氧菌、分枝杆菌病毒及其它微生物.ppt
- (病案质控培训班讲义)8.病历质控相关管理流程及反馈.ppt
- (病案质控培训班讲义)9.《医疗机构病案相关管理规定(2013年版)》.ppt
最近下载
- 基于SpringBoot的在线学习系统的设计与开发.doc
- 毕业设计(论文)-小型水稻联合收割机设计.doc
- 房地产 -22G101-1混凝土结构施工图平面整体表示方法制图规(现浇混凝土框架、剪力墙、梁、板).docx VIP
- 四方股份合作协议书(标准版).docx VIP
- ASME B16.9-2012_工厂制造的锻钢对焊管件(中文版).pdf
- 2025年汽车维修工技师(二级)职业技能鉴定考试题库资料(含答案).pdf
- 变压器油色谱、局放在线监测系统设计实施方案.docx VIP
- 饲料厂安全操作规程.pdf VIP
- 交通标识汇总(全).doc VIP
- 2025届湖北省建设投资集团有限公司校园招聘124人笔试参考题库附带答案详解.pdf
文档评论(0)