- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法具有五个基本特征: ①有穷性,算法的执行必须在有限步内结束。 ②确定性,算法的每一步骤必须是确定无二义性的。 ③输入, 算法可以有0个或多个输入。 ④输出, 算法一定有输出结果 ⑤可行性,算法中的运算都必须是可以实现的。 算法具有有穷性,程序不需要具备有穷性。一般的程序都会在有限时间内终止,但有的程序却可以不在有限时间内终止,如一个操作系统在正常情况下是永远都不会终止的。 1.3.2算法的时间和空间复杂性 一个算法的优劣主要从算法的执行时间和所需要占用的存储空间两个方面衡量,算法执行时间的度量不是采用算法执行的绝对时间来计算的,因为一个算法在不同的机器上执行所花的时间不一样,在不同时刻也会由于计算机资源占用情况的不同,使得算法在同一台计算机上执行的时间也不一样,所以对于算法的时间复杂性,采用算法执行过程中其基本操作的执行次数,称为计算量来度量。 算法中基本操作的执行次数一般是与问题规模有关的,对于结点个数为n的数据处理问题,用T(n)表示算法基本操作的执行次数。 评价一个算法的一般作法: (1)合理地选择一个或几个操作作为“标准操作”。 (2)计算量=给定输入下执行标准操作的次数。 事实:一个算法的计算量通常依赖于问题的规模。 为了便于讨论,我们把问题规模假定为n,则算法在问题规模(Size)为n的输入下的计算量为T(n)。 定义:设f(n)与g(n)是定义在正整数集合上的两个函数,如果存在两个正常数c和n0,对于所有的n≧n0,有︱f(n) ︳≦c.g(n) 则记作 f(n)=O(g(n)) 。也就是说对几乎所有的n值,函数f(n)以函数g(n)为上界。 渐近记号(一) f (n)=O(g(n))表明,当 n→∞ 时, f (n)趋于无穷大的阶不大于(即小于等于) g(n)趋于无穷大的阶. 例1:证明n2/2+3为O(n2) 证明:要使n2/2+3c* n2 有c ?+3/ n2 当n 6时,必有1/2+ 3/n2〈1 故取c=1,n0=3,则对任意n3,有 n2/2+3〈c* n2 故n2/2+3为O(n2) 渐近记号(二) ⑵ 大? 记号: 定义: f (n)=Ω(g(n)) 意味着存在正常数 C 和 n0 ,使得 当 n ≥ n0 , 均有 0≤ C g(n) ≤f (n) 成立。 f (n)=Ω (g(n))表明,当 n→∞ 时, f (n)趋于无穷大的阶不小于 g(n) 趋于无穷大的阶. 渐近记号(三) ⑶ 大Θ 记号: 定义: f (n)=Θ(g(n)) 意味着存在正常数C1, C2和n0使 得当n≥n0 , 均有 0≤C1g(n)≤f (n)≤C2g(n)成立。 f (n)=Θ(g(n))表明,当 n→∞ 时, f (n) 和g(n)趋于无穷大的阶是相同的。 例2:求两个n阶方阵的乘积C=A*B for(i=0;in;++i) for(j=0;jn;++j) { c[i][j]=0; for(k=0;kn;++k) c[i][j]+=a[i][k]*b[k][j]; } n+1 n(n+1) n2 n2(n+1) n3 一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,当n趋向无穷大时,我们把时间复杂度T(n)=O(f(n))的数量级(阶)称为算法的渐近时间复杂度。 上述n阶矩阵相乘算法的时间复杂度T()为算法中所有语句的频度之和: T(n)=2n3+3n2+2n+1 按照O记法,当n趋向无穷大时有: limT(n)/n3=lim(2n3+3n2+2n+1)/n3=2 这表明,当n充分大时,T(n)和n3之比是一个不等于0的常数,即T(n)和n3是同阶的,所以: T(n)=O( n3 ) 频度:是指该语句重复执行的次数。 n→ ∞ n→ ∞ 例3: { ++x;s=0; } 将x自增看成是基本操作,则语句频度为1,即时间复杂度为O(1) 如果将s=0也看成是基本操作,则语句频度为2,其时间复杂度仍为O(1),即常量阶。 例4: for(i=1;i=n;++i) { +
您可能关注的文档
最近下载
- _【石油修井】特殊井大修工艺技术.pdf VIP
- 《0~3岁婴幼儿教育活动设计与指导》项目四 婴幼儿认知发展教育活动设计与指导.pptx VIP
- 第四章 石油修井 修井工具讲义.pdf VIP
- 2024年《义务教育课程标准(2022年版)课例式解读》初中英语读后感.docx VIP
- 银行半结构化面试必问题目及参考回答.docx VIP
- GB_T 33700-2017地基导航卫星遥感水汽观测规范.docx VIP
- GB_T 42988-2023 多源遥感影像网络协同解译.pdf VIP
- DB42T 2425-2025 自然资源光学遥感卫星影像应用分类分级规范.pdf VIP
- 油水井井筒大修作业资料讲解.ppt VIP
- H公司基层员工激励机制研究.docx VIP
原创力文档


文档评论(0)