1.3.5 算法复杂性的权衡考虑
对于一个算法,其时间复杂性和空间复杂性往往是相互影响的。当追求一个较好的时间复杂性时,可能导致占用较多的存储空间,使空间复杂性的性能变差;反之,当一味追求一个较好的空间复杂性时,可能导致占用较长的运行时间,使时间复杂性的性能变差。
另外,算法的所有性能之间都存在着或多或少的相互影响。因此,当设计一个算法(特别是大型算法)时,要综合考虑算法的各项性能,例如算法的使用频率、算法处理的数据量的大小、算法描述语言的特性及运行算法的机器系统环境等各方面因素,才能够设计出比较好的算法。