zoukankan      html  css  js  c++  java
  • Big O

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

    有序二分查找算法:

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

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

    从下面的图可以看出:

    这个计算是怎么得来的?

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

    以此类推见如下图:

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

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

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

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

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

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

       

    T为时间;

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

    N为数据范围(数量)。

    运行时间:

  • 相关阅读:
    安利一个_Java学习笔记总结
    九涯的第一次
    attrs 资源文件 自定义属性
    EditText
    ArrayList 数组 初始化方法
    HTTP Retrofit 网络传输
    画布Canvas 画笔Paint
    View控件跟随鼠标移动
    ViewPager和Fragment中的View的点击事件冲突
    圆形图片 ImageView
  • 原文地址:https://www.cnblogs.com/hongguang-kim/p/5760697.html
Copyright © 2011-2022 走看看