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

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

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

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

      

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

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

      例:

        

      证明:

        

        

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

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

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

      例:

        

      证明:

        

        

      不等式在时成立,得证。

      

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

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

      例:

        

      证明:

        

        

      不等式在时成立,得证。

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

      多项式时间算法常见:  

      指数时间算法常见:        

  • 相关阅读:
    CentOS 6.4 系统下的MySQL的主从库配置
    扫盲: JAVA基本常识
    ant学习
    Linux一些命令
    redis学习
    扫盲:注册表和绿色软件常识
    Java.前端.Layer.open.btn验证无效
    Java.数据结构.集合体系详解
    PageHelper踩坑
    Scrum.站立会议介绍
  • 原文地址:https://www.cnblogs.com/fenqi/p/bubble_2.html
Copyright © 2011-2022 走看看