算法

什么是数据结构?

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

什么是算法?

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

  复杂度分析

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

  

  1、时间复杂度

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

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

  时间复杂度分析

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

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

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

  常见的几种时间复杂度:

    

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

   O(logn)

原文地址:https://www.cnblogs.com/yangyongjie/p/14061423.html