官术网_书友最值得收藏!

1.3 速度計量

如何衡量一個操作的速度呢?

如果只能從本書中學會一個知識點,那你一定要記住這一點:衡量一個操作的“速度”時,不是用純粹的時間長短,而是用步驟數來衡量。

在打印從2到100的偶數的例子中,我們已經學到了這一點。第二個函數運行得更快,因為它所需的步驟數是第一個的一半。

為什么用步驟數來衡量代碼的速度呢?

因為我們永遠不能確定一個操作所需的時間。一段代碼在某一臺計算機上可能需要5秒運行完成,而在舊計算機上可能運行得更久。相同的代碼在未來的超級計算機上可能運行得更快。因為運行時間與硬件有關,所以用時間來衡量一個操作的速度是不可靠的。

不過,用所需計算步驟的數量就能衡量操作的速度了。如果操作A需要5步,操作B需要500步,那么就可以說在任何硬件上操作A都比操作B快。因此,衡量步驟數就成了分析操作速度的關鍵。

衡量操作的速度也被稱作衡量其時間復雜度。本書會混用速度時間復雜度效率性能以及運行時間這幾個術語。它們指的都是一個操作所需要的步驟數。

下面來看看數組的4種操作所需要的步驟數吧。

主站蜘蛛池模板: 康保县| 绥江县| 宾阳县| 闵行区| 浦北县| 康马县| 临洮县| 囊谦县| 石河子市| 疏勒县| 昌黎县| 新巴尔虎左旗| 大埔县| 屏山县| 太保市| 深泽县| 土默特左旗| 辽中县| 贺兰县| 兴山县| 来安县| 太谷县| 临沧市| 祁阳县| 凌云县| 和平区| 祥云县| 兴国县| 松桃| 开阳县| 武宁县| 宁河县| 苏州市| 广南县| 巴马| 平度市| 焦作市| 深水埗区| 潍坊市| 山阳县| 交城县|