zoukankan      html  css  js  c++  java
  • 算法

    什么是数据结构?

      数据结构就是指一组数据的存储结构

    什么是算法?

      算法就是操作数据的一组方法

      复杂度分析

      要衡量代码的执行效率,则需要用到时间、空间复杂度分析。一般使用(大O复杂度表示法)

      

      1、时间复杂度

      所有代码的执行时间与每行代码的执行次数是成正比的,而每行代码的执行次数和数据规模n也是成正比的。

       大O时间复杂度表示实际上并不具体表示代码真正的执行事件,而是表示代码执行时间随数据规模增长的变化趋势,所以也叫做渐进时间复杂度,简称时间复杂度。

      时间复杂度分析

        1)只关注循环执行次数最多的一段代码

         大O复杂度表示法只是表示一种变化的趋势,通常可以忽略掉公式中的常量、低阶、系数,只需要记录一个最大阶的量级就可以了。所以在分析一个算法的事件复杂度的时候,循环执行次数最多的那段代码的执行次数与数据规模n的量级关系就是整个算法的时间复杂度

        2)嵌套代码的复杂度等于嵌套内外代码复杂度的乘积

      常见的几种时间复杂度:

        

       O(1):只要代码的执行时间不随着n的增大而增长,这样的代码的时间复杂度都是O(1)。一般情况下,只要算法中不存在循环语句、递归语句,不管有多少行代码,其时间复杂度都是O(1)。

       O(logn)

  • 相关阅读:
    Redis使用:聚合类型为空时,会自动被Redis删除
    Effective C++: 04设计与声明
    select引起的服务端程序崩溃问题
    Effective C++: 03资源管理
    Effective C++: 02构造、析构、赋值运算
    Effective C++: 01让自己习惯C++
    Centos7.2 安装配置 Tengine(nginx)
    Centos7更新阿里yum源
    Go中函数作为值、类型传递。
    go实现冒泡排序和快速排序
  • 原文地址:https://www.cnblogs.com/yangyongjie/p/14061423.html
Copyright © 2011-2022 走看看