一、问题
常常⽤算法的空间复杂度来评价算法的性能,那么什么是算法的空间复杂度呢?
二、解答
算法的空间复杂度是指在算法的执⾏过程中,需要的辅助空间数量。
辅助空间数量指的不是程序指令、常数、指针等所需要的存储空间,也不是输⼊数据所占⽤的存储空间, ⽽是除算法本⾝和输⼊输出数据所占据的空间外,算法临时开辟的存储空间。
算法的空间复杂度分析⽅法同算法的时间复杂度相似,设 S(n)是算法的空间复杂度,通常可以表示为:
S(n)=O((m))
注意:在算法的时间复杂度和空间复杂度中,我们更注重算法的时间性能。因此在本书的算法分析中,不特
别指明,均是对算法时间性能的分析。
三、总结
由于计算机硬件技术的发展,以及计算机磁盘存储空间的不断扩⼤,算法的空间复杂度已经不那么重要了,但是也应该尽量减⼩算法的空间复杂度。