本文共 443 字,大约阅读时间需要 1 分钟。
本节书摘来自华章计算机《算法基础》一书中的第1章,第1.6节,作者:(美)罗德·斯蒂芬斯(Rod Stephens)著,更多章节内容可以访问云栖社区“华章计算机”公众号查看
为了最有效地使用一个算法,不仅需要理解算法是如何工作的,也需要理解它的性能特点。本章解释了大O符号,你可以使用它研究算法的性能。如果你知道一个算法的时间复杂度,就能估计如果改变问题的大小,运行时间如何改变。
这一章还描述了一些具有常见时间复杂度的算法情况。图1-2展示了这些方程的图像,从中能感觉到随着问题规模的增加,它们的增长有多快。作为一个经验法则,时间复杂度是多项式级的算法通常足够快,所以你能用它们解决中等规模的问题。然而,时间复杂度是指数或者阶乘的算法,随着问题规模的增加,运行时间增长得特别快,所以只能用它们解决规模相对较小的问题。既然对如何分析一个算法的速度有了一定的了解,你一定准备好了研究某些特定的算法。下一章将会讨论数值算法。它们往往不要求复杂的数据结构,所以一般是相当快的。转载地址:http://ubufm.baihongyu.com/