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

时间复杂度计算

作者: 婷楼沐熙 | 来源:发表于2017-03-08 09:10 被阅读129次

算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f(n)的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。记作T(n)=O(f(n)),称O(f(n))为算法的渐进时间复杂度(O是数量级的符号 ),简称时间复杂度。
计算步骤可以分解为:

  1. 找到执行次数最多的语句
  2. 计算语句执行次数的数量级
  3. 用大O来表示结果

一、O(n)

function getSum (n) {
  let sum = 0;
  for(let i = 0; i <= n; i++) {
    sum += i;
   }
return sum;
}

只有可运行的语句才会增加时间复杂度,因此,上面方法里的内容除了循环之外,其余的可运行语句的复杂度都是O(1)。
时间复杂度 = for的O(n)+O(1) = 忽略常量 = O(n)。

二、O(log2n)

function makeDouble(n) {
  let i= 1;
  while(i<n){
    i = i*2;
  }
  return i;
}

设while循环里面的频度为t,2^t(2的t次方)<=n; 两边去对数t<=log2n,考虑最坏情况,取最大值t=log2n。
T(n) = O(log2n)。
排序算法的复杂度可以参见排序算法

相关文章

  • 算法初步

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

  • 数据结构与算法 - 时间复杂度与空间复杂度

    前言 时间复杂度:时间复杂度的计算并不是计算程序具体运行的时间,而是算法执行语句的最大次数。空间复杂度:类似于时间...

  • 【草稿】时间复杂度如何计算

    如何计算时间复杂度 排序法

  • 算法复杂度

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

  • 二叉平衡树算法的时间复杂度

    我们在计算时间复杂度的过程中,查找单个元素总是会出现的时间复杂度,这个时间复杂度如何计算得来的?我们在二叉平衡树中...

  • 排序算法汇总

    简单来说,时间复杂度指的是语句执行次数,空间复杂度指的是算法所占的存储空间 时间复杂度计算时间复杂度的方法: 用常...

  • 时间复杂度计算

    循环次数次(操作次数) 取量级 循环次数T(n)量级函数f(n):1,n,log2n,nlog2n,n2,n3,n...

  • 时间复杂度计算

    1 时间复杂度概述当一个程序产生的时候,就自然而然产生了执行时间,我们不可能每次都去一个一个运行进行比较。于是一种...

  • 时间复杂度计算

    排序法 |:--:|:--:|:--:|:--:|:--:||最差时间分析| 平均时间复杂度|稳定度|空间复...

  • 时间复杂度计算

    算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大...

网友评论

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

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