zoukankan      html  css  js  c++  java
  • 一边学算法,一边学c语言之冒泡排序(二)

      大部分算法都有一个主要参数n,它是影响算法运行时间的主要因素。

      现在有一台大型计算机执行冒泡排序,另一台微型计算机执行执行贵并排序,它们的输入都是一个规模为100万的有序数组,假设大型计算机每秒执行1亿条指令,微型计算机执行百万指令,那么它们在执行后,微型计算机会先于大型计算机计算完毕,这就是算法的能力。

      再算法分析中使用渐进的数学技巧来表示最坏时间复杂度:表示法、表示法、表示法

      

      表示法(比上不足,比下有余)

      定义:如果存在三个正常数,对于所有的,有,则记作

      例:

        

      证明:

        

        

        右边的不等式再时成立;左边不等式在时成立,那么在以及,得证

      表示法(最坏时间复杂度)

      定义:如果存在两个正常数c,,对于所有的,有,则记作

      例:

        

      证明:

        

        

      不等式在时成立,得证。

      

      表示法(最好时间复杂度)

      定义:如果存在两个正常数c,,对于所有的,有 ,  则记作

      例:

        

      证明:

        

        

      不等式在时成立,得证。

       从计算时间上可以把算法分成两类:多项式时间算法,指数时间算法。

      多项式时间算法常见:  

      指数时间算法常见:        

  • 相关阅读:
    给Apache增加SSI支持(shtml的奥秘)
    Raphael实现商品来源去向图
    有趣的居中方式
    oc-基本语法
    APMServ 配置记录
    解决Mac Chrome打开HTTPS证书错误问题
    JavaScript生成GUID的算法
    Backbone模型
    利用apply和arguments复用方法
    软件复用的几种方式
  • 原文地址:https://www.cnblogs.com/fenqi/p/bubble_2.html
Copyright © 2011-2022 走看看