程序的性能分析.doc
《程序的性能分析.doc》由会员分享,可在线阅读,更多相关《程序的性能分析.doc(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流程序的性能分析.精品文档.学习程序算法的一个总要目标就是学会判断程序性能的优劣。当然判断的标准有很多,至少包括如下几点:1. 程序是否符合任务的规范说明。2. 程序是否正确。3. 是否有配套文档,说明程序的用法和原理。4. 程序是否根据逻辑关系分解成能有效执行的函数。5. 程序代码是否易读。以上判据至关重要,对构建大规模程序系统,显得更为关键。然而若要指出上述标准却并非易事。除了上述一般性判据之外,以下两条判据更加具体。6. 程序是否能够高效使用主存和辅存。7. 程序的运行时间是否令人满意最后这两条可以分两方面来讨论:第一方面的性能估计与机器
2、无关,来推断程序的空间代价和时间代价,称为性能分析;第二方面称为性能度量,即获取程序在真实环境的实际运行时间。定义 空间复杂度是程序运行所需的存储空间;时间复杂度是程序的运行时间。一 空间复杂度程序运行所需空间包括两部分:1. 定长空间需求:即与程序输入、输出无关的空间。2. 变长空间需求:即与求解的问题实例相关的结构化变量所占的空间大小。如果是递归程序,还应加上递归时所需工作空间的大小。任何程序所需的空间大小就是上述两块空间的总和。但分析一个程序的空间复杂度,通常仅仅考察变长空间需求。看下面例子:代码1:float abc(float a, float b,float c)return a+
3、b+b*c+(a+b-c)/(a+b)+4.00;函数abc的输入是三个简单变量,输出返回一个简单变量。根据以上分类,这个函数只有定长空间需求,因此空间复杂度为0.代码2:float sum(float list, int n)float tempsum =0;int i;for(i=0;in;i+)tempsum+=listi;return tempsum;代码2的输出只有一个简单变量,但输入比上例增加了一个数组,这里变长空间需求依赖于数组参量是如何传入函数的。不同语言的处理各不相同,对于Pascal语言,数组参量是按值传递的,也就是说这个函数在执行时,整个数组被复制到函数的临时存储空间。这
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序 性能 分析
限制150内