美文网首页
算法的时间复杂度计算

算法的时间复杂度计算

作者: 光哥很霸气 | 来源:发表于2017-01-09 10:43 被阅读499次

计算算法的时间复杂度,通常说的是算法的渐进增长时间复杂度,也就是随着数据的变大,该算法所需要的时间是如何增长的。

推导时间复杂度的原则

  1. 用常数1取代运行事件中的所有加法常数。
  2. 在修改后的运行次数函数中,只保留最高阶数
  3. 如果最高阶项存在且不是1,则去除这个项相乘的常数。

有以下常见的时间复杂度。

1.常数阶
时间复杂度为O(1)
表示计算量不会随着数据的增长而增长

var i = 0;
console.log(i);

2.线性阶
时间复杂度为O(n)
表示计算量随着数据的增长而线性增长,增长量与数据增长几乎相同


for(let i=0;i<n;i++){
//时间复杂度为O(1)的运算
}

3.平方阶
时间复杂度为O(n^2)
表示计算量随着数据的增长而成平方增长


for(let i=0;i<n;i++){
   for(let j=0;j<n;j++{
   //时间复杂度为O(1)的运算
   }
}

4.对数阶
时间复杂度为O(logn)
表示随着数据n的线性递增,计算的递增是成次方递增;比如数据n每次加一,而计算的递增每次以二的次方增加,那么时间复杂度就会介于O(1)和O(n)之间

for(let i=1;i<n;i*=2){
    //时间复杂度为O(1)的运算
}

这里i第一次是2(2的1次方),第二次是2*2(2的2次方),第三次是4*2(2的3次方),可以看出每次增加的都是二的指数,那么假设时间复杂度为x,那么就能得出2^x=n;x=log2n;

相关文章

  • 算法初步

    时间复杂度 时间复杂度是用来估计算法运行时间的式子(单位)。 时间复杂度小结 空间复杂度 用来计算一个算法临时占用...

  • 算法复杂度

    算法的复杂度是以什么来度量的? 算法的复杂度是以时间复杂度和空间复杂度来计算的。 ①算法的时间复杂度 ...

  • 时间复杂度 空间复杂度

    概念 时间复杂度和空间复杂度是用来衡量不同算法之间的优劣时间复杂度:计算的不是算法运行的时间,而是算法运行执行语句...

  • 算法的复杂度

    算法复杂度分为时间复杂度和空间复杂度。时间复杂度是指执行算法所需要的计算工作量,而空间复杂度是指执行这个算法所需要...

  • 时间和空间复杂度

    算法复杂度 算法复杂度分为和。 时间复杂度是指执行算法所需要的计算工作量。 空间复杂度是指执行这个算法所需要的内存...

  • 编程之算法时间复杂度

    算法复杂度 时间复杂度 空间复杂度 什么是时间复杂度 算法执行时间需通过依据该算法编制的程序在计算机上运行时所消耗...

  • 算法复杂度

    1 时间复杂度 以算法中基本操作的重复执行次数作为算法的时间复杂度。一般不必精确计算出算法的时间复杂度,只要大致计...

  • 算法复杂度之时间复杂度和空间复杂度

    算法复杂度分为时间复杂度和空间复杂度 1、介绍 时间复杂度:执行这个算法所需要的计算工作量 空间复杂度:执行这个算...

  • 简单的时间复杂度计算法则

    简单算法时间复杂度计算 大O表示法 像前面用O( )来体现算法时间复杂度的记法,我们称之为大O表示法。 算法复杂度...

  • 时间复杂度&空间复杂度

    算法的时间复杂度和空间复杂度统称为算法的复杂度。 时间复杂度 时间复杂度实际上是一个函数,该函数计算的是执行基本操...

网友评论

      本文标题:算法的时间复杂度计算

      本文链接:https://www.haomeiwen.com/subject/icocbttx.html