第2章 程序最优化2.1 空间与时间计算机中最核心的资源就是CPU与存储器,任何程序的运行都离不开此二者。任何程序的运行都要进行计算,这就会消耗CPU时间;任何程序的运行也都需要进行数据处理,而CPU中是无法存储数据的 CPU中的寄存器具有一定的存储能力,但是这种存储能力是为CPU的运算提供帮助的,与我们通常意义上的存储器有所区别。现代的CPU内部都集成了缓存功能,这些缓存是一种存储器,但是从某种意义上来说这些缓存只是嵌入在CPU内部的“外部的存储器”,并不是CPU的必备部件,它们和内存、外部存储器一起构成了计算机的存储器系统。,必须借助存储器来保存数据。如果程序的CPU时间消耗过大的话就会导致程序的运行时间变长;如果占用的存储空间太大的话就会使得系统能够运行的程序数量变少。因此如何保证程序占用的CPU时间和占用的存储空间都较小就成了我们研究的一个重点,任何系统的优化也都是以此为目标的。2.1.1 空间与时间的概念和度量通俗地讲,一个算法的空间消耗指的是这个算法运行所需要的存储空间大小,而时间消耗指的是算法运行所需要的时间。一个算法运行时所消耗的空间与时间通