《数据结构(C语言描述)(第2版)》教学课件1-04算法的时间和空间复杂度

上传人:考试不挂****2941... 文档编号:243050427 上传时间:2024-09-14 格式:PPTX 页数:7 大小:3.51MB
返回 下载 相关 举报
《数据结构(C语言描述)(第2版)》教学课件1-04算法的时间和空间复杂度_第1页
第1页 / 共7页
《数据结构(C语言描述)(第2版)》教学课件1-04算法的时间和空间复杂度_第2页
第2页 / 共7页
《数据结构(C语言描述)(第2版)》教学课件1-04算法的时间和空间复杂度_第3页
第3页 / 共7页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2016-12-26,#,2016,数据结构,Data structure,讲授:简勇,算法的时间和空间复杂度,常州信息职业技术学院,02,三、链表的插入,03,算法的时间和空间复杂度,0.4,一、,算法的时间复杂度,1,2,设问题的规模为,n,,把一个算法的时间耗费,T(n),称为该算法的,时间复杂度,,它是问题规模为,n,的函数。,(,1,)定义:,(,2,)算法的渐进时间复杂度,设,T(n),为一个算法的时间复杂度,如果存在一个函数,f,(n),,当,n,趋向无穷大时,T(n),与函数,f,(n),比值的极限是一个非零常数,M,,即,,则称,O(,f,(n),为算法的渐进时间复杂度,简称,时间复杂度,,也称,T(n),与,f,(n),的数量级相同,记作,T(n)=O(,f,(n),,通常,,f,(n),应该是算法中频度最高的语句的频度。,因此,计算算法的时间复杂度只需计算算法中执行频度最高的语句的频度。,04,算法的时间和空间复杂度,0.4,一、,算法的时间复杂度,算法的时间复杂度有很多,常用的时间复杂度及顺序如下:,O(1)O(lgn)O(n)O(nlgn)O(n,2,)O(n,3,)=0&(Ai!=K),(3)i-;,(4)return i;,此算法中第,(3),行语句的频度最高,它不仅与问题规模,n,有关,还与输入实例中数组,A,各元素的取值及,K,的取值有关:,若,A,中没有与,K,相等的元素,则语句,i-;,的频度,f,(n)=n,;,若,A,的最后一个元素等于,K,,则语句,i-;,的频度,f,(n),是常数,0,。,3,4,(,3,)常用算法时间复杂度的顺序,(,4,),算法的时间复杂度不仅仅依赖于问题的规模,还与输入实例的初始状态有关。,05,算法的时间和空间复杂度,0.4,一、,算法的时间复杂度,(,5,)最坏时间复杂度和平均时间复杂度,最坏情况下的时间复杂度称为最坏时间复杂度。最坏情况下的时间复杂度是算法在任何输入实例上运行时间的上界。,平均时间复杂度是指所有可能的输入实例均以等概率出现的情况下,算法的期望运行时间。,如果不作特别说明,我们讨论的时间复杂度均是平均时间复杂度。,【例,1-1,】求在含有,n,(,n3,)个元素的数组,array,中输出第,3,个元素的算法时间复杂度。,(1) i=3;,(2) printf(%dn,arrayi);,【例,1-2,】求下列算法的时间复杂度。,(1) x=1;,(2) for(i=1;i=n;i+),(3) for(j=1;j=i;j+),(4),for,(k=1;k=j;k+),(5)x+;,06,算法的时间和空间复杂度,0.4,二、算法的空间,复杂度,空间复杂度,(Space complexity),:是指算法编写成程序后,在计算机中运行时所需存储空间大小的度量。记作:,S(n)=O(f(n),其中:,n,为问题的规模,(,或大小,),该存储空间一般包括三个方面:,指令常数变量所占用的存储空间,;,输入数据所占用的存储空间,;,辅助,(,存储,),空间。,一般地,算法的空间复杂度指的是辅助空间。,一维数组,an,: 空间复杂度,O(n),二维数组,anm,: 空间复杂度,O(n*m),THANKS,2016.9.18,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!