一、程序性能
所谓程序性能是指运行这个程序所需要的内存和时间的多少。所谓一个程序的空间复杂度是指该程序的运行所需内存的大小。所谓程序的时间复杂度是指程序运行所需要的时间。
1.空间复杂度
程序所需要的空间主要由指令空间、数据空间、环境栈空间构成。
2.时间复杂度
一个程序需要的时间是编译时间和运行时间之和。
二、渐进记法
渐进分析方法主要确定的是复杂函数中的最大项(不包括系数)。时间复杂度和步数是同义词。
1 < logn < n < nlogn < n^2 < n^3 < 2^n < n!
f(n) = O(g(n));//f(n)渐进小于或等于g(n);g(n)是f(n)的上限,习惯上是一个系数为1的单位项
f(n) = Ω(g(n));//f(n)渐进大于或等于g(n);g(n)是f(n)的下界
f(n) = Θ(g(n));//f(n)渐进等于g(n)
三、性能测量
性能测量关注的是一个程序实际需要的空间和时间。