平均和最坏时间复杂度介绍
平均时间复杂度和最坏时间复杂度#
平均时间复杂度是指所有可能的输入实例均以等概率出现的情况下,该算法的运行时间。 最坏情况下的时间复杂度称最坏时间复杂度。一般讨论的时间复杂度均是最坏情况下的时间复杂度。 这样做的原因是:最坏情况下的时间复杂度是算法在任何输入实例上运行时间的界限,这就保证了算法的运行时间不会比最坏情况更长。 平均时间复杂度和最坏时间复杂度是否一致,和算法有关 (如图:)。
基本介绍#
类似于时间复杂度的讨论,一个算法的空间复杂度 (Space Complexity
) 定义为该算法所耗费的存储空间,它也是问题规模 n 的函数。 空间复杂度 (Space Complexity
) 是对一个算法在运行过程中临时占用存储空间大小的量度。有的算法需要占用的临时工作单元数与解决问题的规模 n 有关,它随着 n
的增大而增大,当 n
较大时,将占用较多的存储单元,例如快速排序和归并排序算法就属于这种情况 在做算法分析时,主要讨论的是时间复杂度。从用户使用体验上看,更看重的程序执行的速度。一些缓存产品 (redis, memcache
) 和算法 (基数排序) 本质就是用空间换时间.
用户也不知道你的程序他用了多少空间
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: