- 秒懂算法:用常識解讀數據結構與算法
- (美)杰伊·溫格羅
- 439字
- 2022-10-08 17:10:03
1.3 速度計量
如何衡量一個操作的速度呢?
如果只能從本書中學會一個知識點,那你一定要記住這一點:衡量一個操作的“速度”時,不是用純粹的時間長短,而是用步驟數來衡量。
在打印從2到100的偶數的例子中,我們已經學到了這一點。第二個函數運行得更快,因為它所需的步驟數是第一個的一半。
為什么用步驟數來衡量代碼的速度呢?
因為我們永遠不能確定一個操作所需的時間。一段代碼在某一臺計算機上可能需要5秒運行完成,而在舊計算機上可能運行得更久。相同的代碼在未來的超級計算機上可能運行得更快。因為運行時間與硬件有關,所以用時間來衡量一個操作的速度是不可靠的。
不過,用所需計算步驟的數量就能衡量操作的速度了。如果操作A需要5步,操作B需要500步,那么就可以說在任何硬件上操作A都比操作B快。因此,衡量步驟數就成了分析操作速度的關鍵。
衡量操作的速度也被稱作衡量其時間復雜度。本書會混用速度、時間復雜度、效率、性能以及運行時間這幾個術語。它們指的都是一個操作所需要的步驟數。
下面來看看數組的4種操作所需要的步驟數吧。
推薦閱讀
- 密碼學原理與Java實現
- 架構不再難(全5冊)
- Machine Learning with R Cookbook(Second Edition)
- 物聯網系統開發:從0到1構建IoT平臺(第2版)
- 深入淺出DPDK
- PostgreSQL 11從入門到精通(視頻教學版)
- INSTANT Django 1.5 Application Development Starter
- 零基礎入門學習Python
- Oracle Exadata專家手冊
- 微服務架構深度解析:原理、實踐與進階
- PLC應用技術(三菱FX2N系列)
- Kotlin開發教程(全2冊)
- OpenStack Networking Essentials
- Vue.js應用測試
- Django 5企業級Web應用開發實戰(視頻教學版)