- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法的时间复杂度分析.pdf
第16卷第4期 河南教育学院学报(自然科学版) Vo1.16 No.4
2007年1 2月 Journal of Henan Institute of Education(Natural Science) Dec.20O7
算法的时间复杂度分析
程世辉 ,卢翠英2
(1.河南教育学院 信息技术系,河南 郑州450014;2.河南机电学校,河南 郑州450002)
摘要:算法的时间复杂度是衡量一个算法优劣的重要指标.在总结教学经验的基础上,提出了几种计算时问复
杂度的方法.
关键词:算法;复杂度;时间复杂度
中图分类号:TP301.5 文献标识码:A 文章编号:1007—0834(2007)04—0020—04
1 算法分析的基本理论 (1)执行算法耗费的时间和语句频度
1.1 评价算法好坏的标准 执行一个算法所耗费的时间=算法中每条语句
解决同一个问题可能有许多不同的算法,究竟 的执行时间之和
如何来评价这些算法的好坏以便从中选出较好的算 每条语句的执行时间=语句的执行次数(即频
法呢? 度)×语句执行一次所需时间
选用的算法首先应该是“正确”的.此外,主要 算法转换为程序后,每条语句执行一次所需的
考虑如下3点¨ : 时间取决于机器的指令性能、速度以及编译所产生
(1)执行算法所耗费的时间; 的代码质量等难以确定的因素.
(2)执行算法所耗费的存储空间,其中主要考 若要独立于机器的软、硬件系统来分析算法的
虑辅助存储空间; 时间耗费,则设每条语句执行一次所需的时间均是
(3)算法应易于理解,易于编码,易于调试等. 单位时间,一个算法的时间耗费就是该算法中所有
本文主要对执行算法所耗费的时间进行讨论. 语句的频度之和.
1.2 算法性能选择 (2)问题规模、算法的时间复杂度和算法的渐
一 个占存储空间小、运行时间短、其它性能也好 进时间复杂度
的算法是很难做刭的.原因是上述要求有时相互矛 算法求解问题的输入量称为问题的规模,一般
盾:要节约算法的执行时间往往要以牺牲更多的空 用一个整数表示.例如,矩阵乘积问题的规模是矩阵
间为代价;而为了节省空间可能要耗费更多的计算 的阶数;一个图论问题的规模则是图中的顶点数或
时间.因此我们只能根据具体情况有所侧重: 边数.
(1)若该程序使用次数较少,则力求算法简明 一 个算法的时间复杂度是该算法的时间耗费,
易懂; 是该算法中所有语句的频度之和,它是该算法所求
(2)对于反复多次使用的程序,应尽可能选用 解问题规模的函数,当用n表示问题规模时,算法的
快速的算法; 时间复杂度用 T(n)表示.
(3)若待解决的问题数据量极大,机器的存储 当问题的规模 n趋向无穷大时,时间复杂度
空间较小,则相应算法主要考虑如何节省空间. T(n)的数量级(阶)称为算法的渐进时间复杂度.
1.3 算法的时间性能分析 在算法分析
文档评论(0)