网站大量收购闲置独家精品文档,联系QQ:2885784924

中科院课程-程序复杂度分析.pdf

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中科院课程-程序复杂度分析

第一章 复杂性分析初步 1 第一章 复杂性分析初步 程序性能(program performance)是指运行一个程序所需的内存大小和时 间多少。所以,程序的性能一般指程序的空间复杂性和时间复杂性。性能评估主 要包含两方面,即性能分析(performance analysis)与性能测量(performance measurement),前者采用分析的方法,后者采用实验的方法。 考虑空间复杂性的理由  在多用户系统中运行时,需指明分配给该程序的内存大小;  想预先知道计算机系统是否有足够的内存来运行该程序;  一个问题可能有若干个不同的内存需求解决方案,从中择取;  用空间复杂性来估计一个程序可能解决的问题的最大规模。 考虑时间复杂性的理由  某些计算机用户需要提供程序运行时间的上限(用户可接受的);  所开发的程序需要提供一个满意的实时反应。 选取方案的规则:如果对于解决一个问题有多种可选的方案,那么方案的选 取要基于这些方案之间的性能差异。对于各种方案的时间及空间的复杂性,最好 采取加权的方式进行评价。但是随着计算机技术的迅速发展,对空间的要求往往 不如对时间的要求那样强烈。因此我们这里的分析主要强调时间复杂性的分析。 §1 空间复杂性  程序所需的空间主要包括:指令空间、数据空间、环境栈空间。 指令空间-用来存储经过编译之后的程序指令。大小取决于如下因素:  把程序编译成机器代码的编译器;  编译时实际采用的编译器选项;  目标计算机。 注:所使用的编译器不同,则产生的机器代码的长度就会有差异;有些编译 器带有选项,如优化模式、覆盖模式等等。所取的选项不同,产生机器代码也会 不同。采用优化模式要多消耗时间。此外,目标计算机的配置也会影响代码的规 模。例如,如果计算机具有浮点处理硬件,那么,每个浮点操作可以转化为一条 机器指令。否则,必须生成仿真的浮点计算代码,使整个机器代码加长。 数据空间-用来存储所有常量和变量的值。  存储常量和简单变量;所需的空间取决于所使用的计算机和编译器,以及 变量与常量的数目;  存储复合变量;包括数据结构所需的空间及动态分配的空间; 2 第一章 复杂性分析初步  计算方法: 结构变量所占空间等于各个成员所占空间的累加;数组变量所占空间等于 数组大小乘以单个数组元素所占的空间。例如 double a[100]; 所需空间为100×8=800 int matrix[r][c]; 所需空间为 4×r×c C++基本数据类型(32 位字长机器) 类型名 说明 字节数 范围 char 字符型 1 -128~127 signed char 有符号字符型 1 -128~127 unsigned char 无符号字符型 1 0~255 short[int] 短整型 2 -32768~32767 signed short[int] 有符号短整型 2 -32768~32767 unsigned short[int] 无符号短整型 2 0~65535 int 整型 4 -2147483648~2147483647 Signed[int] 有符号整型 4

您可能关注的文档

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档