时间复杂度计算

作者: 升云手札 | 来源:发表于2017-11-27 22:51 被阅读0次

定义

在计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。这是一个代表算法输入值的字符串的长度的函数。时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。使用这种方式时,时间复杂度可被称为是渐近的,亦即考察输入值大小趋近无穷时的情况。

常数阶

int sum = 0,n = 100;
sum = (1 + n)*n/100;

时间复杂度为O(1)。

线性阶

sum = 0;
for(int i = 1; i <= n; i ++){
    sum += i;
}

循环体中的代码必须执行n次,循环的时间复杂度为O(n)。

对数阶

int count = 1
while(count < n){
    count = count * 2;
}

x个2相乘大于n后,就会推出循环。由2^x=n,得到x = log2n。
所以这个循环体的时间复杂度为O(logn)。

平方阶

for(int i = 0; i < n; i ++){
   for(int j = 0; j< n; j++){
       //时间复杂度为O(1)的语句 
   }
}

时间复杂度为O(n*n), 即O(n^2)。

常见的时间复杂度

执行次数函数
12 O(1)
n+9 O(n)
2n^2+3n+9 O(n^2)
3log2n+8 O(logn)
4n+3nlog2n+8 O(nlogn)
7n^3 + 3n^2 + 6n+5 O(n^3)
2^n O(2^n)

相关文章

  • 算法初步

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

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

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

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

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

  • 算法复杂度

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

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

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

  • 排序算法汇总

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

  • 时间复杂度计算

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

  • 时间复杂度计算

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

  • 时间复杂度计算

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

  • 时间复杂度计算

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

网友评论

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

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