美文网首页
时间复杂度

时间复杂度

作者: Emma_Sun | 来源:发表于2018-09-17 10:44 被阅读0次

一个算法的优劣主要从算法的执行时间和所需要占用的存储空间两个方面衡量

时间复杂度:时间复杂度的计算并不是计算程序具体运行的时间,而是算法执行语句的次数

常见的时间复杂度有:
常数阶O(1),
对数阶O(log2 n),
线性阶O(n),
线性对数阶O(n log2 n),
平方阶O(n^2),
立方阶O(n^3)
k次方阶O(n^K),
指数阶O(2^n)。
随着n的不断增大,时间复杂度不断增大,算法花费时间越多。

通常我们计算时间复杂度都是计算最坏情况
1)如果算法的执行时间不随着问题规模n的增加而增长,即使算法中有上千条语句,其执行时间也不过是一个较大的常数。此类算法的时间复杂度是O(1)。

var x=1;
while (x <10)
  {
     x++;
  }

2)当有若干个循环语句时,算法的时间复杂度是由嵌套层数最多的循环语句中最内层语句的频度f(n)决定的。

for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
        {
            ;
        }
    }

该算法for循环,最外层循环每执行一次,内层循环都要执行n次,执行次数是根据n所决定的,时间复杂度是O(n^2)
3)循环不仅与n有关,还与执行循环所满足的判断条件有关。

var i=0;
while (i < n && arr[i]!=1)
    {
        i++;
    }

在此循环,如果arr[i]不等于1的话,时间复杂度是O(n)。如果arr[i]等于1的话,则循环不能执行,时间复杂度是0。

相关文章

  • 时间复杂度(下)

    时间复杂度知识点 最好时间复杂度 最坏时间复杂度 平均情况复杂度 均摊时间复杂度

  • day02 四种时间复杂度分析方法

    一、时间复杂度有哪几种? 最好时间复杂度 最坏时间复杂度 平均时间复杂度(概率) 均摊时间复杂度(特殊的平均时间复...

  • 数据结构与算法之美笔记——复杂度分析(下)

    摘要: 时间复杂度还可分为四种,分别是「最好时间复杂度」、「最坏时间复杂度」、「平均时间复杂度」和「均摊时间复杂度...

  • 算法学习笔记-浅析时间复杂度

    四种情况的维度: 最好情况时间复杂度 最坏情况时间复杂度 平均情况时间复杂度 均摊时间复杂度 最好时间复杂度 在最...

  • sort_algorithm

    排序方法 时间复杂度(平均) 时间复杂度(最坏) 时间复杂度(最好) 空间复杂度 稳定性 复...

  • 归并排序图解

    平均时间复杂度:O(nlogn) 最佳时间复杂度:O(n) 最差时间复杂度:O(nlogn) 空间复杂度:O(n)...

  • 时间复杂度和空间复杂度笔记

    复杂度分析笔记 复杂度主要分为时间和空间复杂度 时间复杂度:算法(程序)执行的时间变化趋势 空间复杂度:算法(程序...

  • 归并排序 by Python

    最好时间复杂度:O(n*logn)最坏时间复杂度:O(n*logn)平均时间复杂度:O(n*logn)空间复杂度:...

  • day09-冒泡排序+优化

    排序算法(SortAlgorithm) 算法时间复杂度总结: 排序方法时间复杂度(平均)时间复杂度(最坏)时间复杂...

  • 时间复杂度和空间复杂度

    时间复杂度 如何理解算法时间复杂度 1.时间复杂度,表示形式为Big O notation 时间复杂度也可以理解为...

网友评论

      本文标题:时间复杂度

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