美文网首页
如何求时间复杂度

如何求时间复杂度

作者: 執著我們的執著 | 来源:发表于2018-06-09 01:25 被阅读0次
牢记一句话:
  • 将算法中的基本操作执行次数作为算法时间复杂度的度量 !在分析过程中总能找到一个 n ,称之为问题的规模。
步骤:
step 1 : 找到基本操作(多数情况下为最深层循环内语句的操作),确定规模 n .
step 2 : 计算出 f(n) : 由规模 n , 执行次数 k 的关系确定k = f(n)
step 3 : O(f(n)) : f(n)中增长最快的项

分析一下代码时间复杂度
EX 1:
void fun(int n)
{
    int i, j, x=0;
    for(i=1; i< n; ++i)
    {
        for(j=i+1; j<=n; ++j)
        {
            ++x;
        }
    }

    return;
}
EX 1
EX 2:
void fun(int n)
{
    int i = 0;
    int s = 0;
    while(s < n)
    {
        ++i;
        s = s+i;
    }

    return;
}
EX 2

相关文章

  • 如何求时间复杂度

    牢记一句话: 将算法中的基本操作的执行次数作为算法时间复杂度的度量 !在分析过程中总能找到一个 n ,称之为问题的...

  • 1-6算法的时间复杂度

    算法时间复杂度的记法是什么?求程序的时间复杂度? 大O 如何分析一个算法的时间复杂度?1.用常数1取代运行时间中的...

  • 时间复杂度

    如何求时间复杂度 求解算法的时间复杂度的具体步骤是: ⑴ 找出算法中的基本语句; 算法中执行次数最多的那条语句就是...

  • P75-求n次方

    O(logn)时间复杂度求Fibonacci数列

  • map:169.求众数(投票算法)

    求众数 哈希Map 复杂度分析 时间复杂度:O(N) 空间复杂度: O(N) 投票算法 复杂度分析

  • 复杂度分析(上)笔记:如何分析、统计算法的执行效率和资源消耗

    复杂度分析(上)笔记:如何分析、统计算法的执行效率和资源消耗 链接 一、关于对数阶时间复杂度的实例分析 求下列代码...

  • 动态规划

    如何理解动态规划 动态规划比较合适的就是来求最优问题的,比如求最大值,最小值等等。它可以显著的降低时间复杂度。想要...

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

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

  • 第24章 背包问题进阶

    1、整数划分 算法1 完全背包求方案数问题 时间复杂度 Java 代码 算法2 时间复杂度 Java 代码 2、猫...

  • Manacher算法详解

    Manacher 算法是求字符串最大回文子串最高效的算法,时间复杂度和空间复杂度都为O(n),相较于时间复杂度为O...

网友评论

      本文标题:如何求时间复杂度

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