算法的含义及算法复杂度分析方法

算法的含义及算法复杂度分析方法

ID:32257353

大小:60.80 KB

页数:3页

时间:2019-02-02

算法的含义及算法复杂度分析方法_第1页
算法的含义及算法复杂度分析方法_第2页
算法的含义及算法复杂度分析方法_第3页
资源描述:

《算法的含义及算法复杂度分析方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、OperatingSystem2.28.2013InformationManagement&InformationSystem12708Instructor王斌陈佳威算法的含义算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。特征一个算法应该具有以下六个

2、重要的特征:算法可以使用自然语言、伪代码、流程图等多种不同的方法来描述。1、有限性算法的有穷性是指算法必须能在执行有限个步骤之后终止;2、确切性算法的每一步骤必须有确切的定义;3、输入一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件;4、输出一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;算法复杂度分析通常一个算法的复杂度是由其输入量决定的,随着输入的增加,复杂度越大。一个算法的评价主要从时间复杂度和空间复杂度来考虑。方法:时间复杂度(1)算法耗费的时间和语句频度一个算法

3、所耗费的时间=算法中每条语句的执行时间之和每条语句的执行时间=语句的执行次数(即频度(FrequencyCount))×语句执行一次所需时间算法转换为程序后,每条语句执行一次所需的时间取决于机器的指令性能、速度以及编译所产生的代码质量等难以确定的因素。若要独立于机器的软、硬件系统来分析算法的时间耗费,则设每条语句执行一次所需的时间均是单位时间,一个算法的时间耗费就是该算法中所有语句的频度之和。(2)问题规模和算法的时间复杂度算法求解问题的输入量称为问题的规模(Size),一般用一个整数表示。矩阵乘积问题的规模是矩阵的阶数。一个图论问题的规模则是图中

4、的顶点数或边数。一个算法的时间复杂度(TimeComplexity,也称时间复杂性)T(n)是该算法的时间耗费,是该算法所求解问题规模n的函数。当问题的规模n趋向无穷大时,时间复杂度T(n)的数量级(阶)称为算法的渐进时间复杂度。(3)渐进时间复杂度评价算法时间性能主要用算法时间复杂度的数量级(即算法的渐近时间复杂度)评价一个算法的时间性能。空间复杂度第3页共3页OperatingSystem2.28.2013InformationManagement&InformationSystem12708Instructor王斌陈佳威与时间复杂度类似,空间

5、复杂度是指算法在计算机内执行时所需存储空间的度量。记作:S(n)=O(f(n))算法执行期间所需要的存储空间包括3个部分:·算法程序所占的空间;·输入的初始数据所占的存储空间;·算法执行过程中所需要的额外空间。第3页共3页OperatingSystem2.28.2013InformationManagement&InformationSystem12708Instructor王斌陈佳威第3页共3页

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。