評價一個計算機算法的效率時用到的方法咱們稱之爲Big O(Order of [大約是])。算法
好比咱們經過二分查找算法查找容器裏的10個數據。函數
那麼,咱們須要查找一個數據時正常應該是4步就能夠找到。3d
從下面的圖能夠看出:blog
這個計算是怎麼得來的?編譯
經過不斷的將範圍對分直至小到不可再分爲止。而後查數,總共分了多少次。效率
以此類推見以下圖:容器
如今咱們能夠反向去思考一下。好比說在4步內查找的最大範圍是多少?方法
那麼計算方式是經過2的冪次方來算出:im
可是咱們最初知道的是數據的多少而須要得知進行的步數。d3
那麼咱們須要用到冪函數的反函數對數。
要記住咱們關注的不在於計算對數。理解一個數與其對數之間的關係便可。
評價一個計算機算法的效率用到的方法咱們稱之爲Big O(order of)。
T爲時間;
K爲一個常量,包含編譯生成代碼的效率等等;
N爲數據範圍(數量)。
運行時間: