阅读背景:

数据结构算法与应用第二章-程序性能

来源:互联网 

在第二章中,作者介绍了程序性能相关知识,主要介绍了程序性能的研究方法和程序性能分析的应用分析。首先介绍了程序的空间复杂性和时间复杂性的概念和分析意义,从这里我们可以理解程序空间复杂性和时间复杂性分析的必要性,在这里作者提出了程序分析员,这个角色通常是在程序员中产生或者程序员就兼职了该角色。既然分析有必要,那么程序空间复杂性和时间复杂性的分析就是程序员的职责之一,那么如何去做程序性能分析呢?接着作者就介绍了空间复杂性和时间负责性的分析方法并举例来做分析。空间复杂性的组成包括指令空间、数据空间和环境栈空间。指令空间与编译器、编译器选项和具体的机器环境有关,数据空间与常量数据、全局数据有关,环境栈空间与函数调用、函数形参、局部变量、动态分配变量有关。为了分析程序空间复杂性,引入实例特征和问题规模,实例特征一般指输入,输出数量,而问题规模一般指要解决问题的大小度,如排序问题中排序元素的个数。指令空间一般独立于实例特征和问题规模,数据空间和环境栈空间一般独立于实例特征,与问题规模有关。递归栈空间依赖于递归函数形参、局部变量和递归深度。程序空间复杂性的组成又可以划为固定部分和可变部分。固定部分包括指令空间、非复合数据的数据空间、非递归栈空间。可变部分包括复合数据的数据空间、递归栈空间、动态分配空间,程序空间复杂性也可以表示为在第二章中,作者介绍了程序性能相关知识,主要介绍了程序性能的研究方法和程序性能分析




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: