• 一边学算法,一边学c语言之冒泡排序(二)


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

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

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

      

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

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

      例:

        

      证明:

        

        

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

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

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

      例:

        

      证明:

        

        

      不等式在时成立,得证。

      

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

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

      例:

        

      证明:

        

        

      不等式在时成立,得证。

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

      多项式时间算法常见:  

      指数时间算法常见:        

  • 相关阅读:
    指针细说
    C++编码规范101
    关于C标准
    Bjarne Stroustrup语录2
    Bjarne Stroustrup 语录1
    计算机网络基础识别
    ssh
    matplotlib画图
    数据分析之Numpy
    数据分析
  • 原文地址:https://www.cnblogs.com/fenqi/p/bubble_2.html
Copyright © 2020-2023  润新知