上QQ阅读APP看书,第一时间看更新
1.3 速度计量
如何衡量一个操作的速度呢?
如果只能从本书中学会一个知识点,那你一定要记住这一点:衡量一个操作的“速度”时,不是用纯粹的时间长短,而是用步骤数来衡量。
在打印从2到100的偶数的例子中,我们已经学到了这一点。第二个函数运行得更快,因为它所需的步骤数是第一个的一半。
为什么用步骤数来衡量代码的速度呢?
因为我们永远不能确定一个操作所需的时间。一段代码在某一台计算机上可能需要5秒运行完成,而在旧计算机上可能运行得更久。相同的代码在未来的超级计算机上可能运行得更快。因为运行时间与硬件有关,所以用时间来衡量一个操作的速度是不可靠的。
不过,用所需计算步骤的数量就能衡量操作的速度了。如果操作A需要5步,操作B需要500步,那么就可以说在任何硬件上操作A都比操作B快。因此,衡量步骤数就成了分析操作速度的关键。
衡量操作的速度也被称作衡量其时间复杂度。本书会混用速度、时间复杂度、效率、性能以及运行时间这几个术语。它们指的都是一个操作所需要的步骤数。
下面来看看数组的4种操作所需要的步骤数吧。