Big O

評價一個計算機算法的效率時用到的方法咱們稱之爲Big O(Order of [大約是])。算法

有序二分查找算法:

好比咱們經過二分查找算法查找容器裏的10個數據。函數

那麼,咱們須要查找一個數據時正常應該是4步就能夠找到。3d

從下面的圖能夠看出:blog

這個計算是怎麼得來的?編譯

經過不斷的將範圍對分直至小到不可再分爲止。而後查數,總共分了多少次。效率

以此類推見以下圖:容器

如今咱們能夠反向去思考一下。好比說在4步內查找的最大範圍是多少?方法

那麼計算方式是經過2的冪次方來算出:im

可是咱們最初知道的是數據的多少而須要得知進行的步數。d3

那麼咱們須要用到冪函數的反函數對數。

要記住咱們關注的不在於計算對數。理解一個數與其對數之間的關係便可。

評價一個計算機算法的效率用到的方法咱們稱之爲Big O(order of)。

   

T爲時間;

K爲一個常量,包含編譯生成代碼的效率等等;

N爲數據範圍(數量)。

運行時間:

相關文章
相關標籤/搜索