Big O

评价一个计算机算法的效率时用到的方法我们称之为Big O(Order of [大约是])。

有序二分查找算法:

比如我们通过二分查找算法查找容器里的10个数据。

那么,我们需要查找一个数据时正常应该是4步就可以找到。

从下面的图可以看出:

这个计算是怎么得来的?

通过不断的将范围对分直至小到不可再分为止。然后查数,总共分了多少次。

以此类推见如下图:

现在我们可以反向去思考一下。比如说在4步内查找的最大范围是多少?

那么计算方式是通过2的幂次方来算出:

但是我们最初知道的是数据的多少而需要得知进行的步数。

那么我们需要用到幂函数的反函数对数。

要记住我们关注的不在于计算对数。理解一个数与其对数之间的关系即可。

评价一个计算机算法的效率用到的方法我们称之为Big O(order of)。

   

T为时间;

K为一个常量,包含编译生成代码的效率等等;

N为数据范围(数量)。

运行时间:

 

posted on 2016-08-11 13:57  金洪光  阅读(349)  评论(0编辑  收藏  举报

导航