美文网首页
day02 算法的时间与空间复杂度分析

day02 算法的时间与空间复杂度分析

作者: 爱学习的代代 | 来源:发表于2019-12-15 09:56 被阅读0次
1、为什么要学习复杂度分析?
  1. 比起跑代码,统计与监控,这种事后分析方法,有很大的局限性。(依赖测试环境、收数据规模影响较大)
  2. 不需要具体数据,来事前粗略估计算法执行效率的方法。
2、大O复杂度表示法

T(n) = O (f(n))

所有代码的执行时间与每行代码的执行次数成正比

并不表示真正的代码执行时间,而是表示代码执行时间随数据规模的变化趋势,也称渐进时间复杂度。简称时间复杂度

3、如何分析?
  1. 只关注循环执行次数最多的一段代码
  2. 减法法则 (总复杂度=量级最大那段代码的复杂度)
  3. 乘法法则 (嵌套代码复杂度=嵌套内外代码复杂度的乘积)
4、 常见的时间复杂度量级
  • 常量阶 O(1)

  • 对数阶 O(log n)

  • 线性阶 O(n)

  • 线性对数阶 O(nlog n)

  • 平方阶 O(n2)、立方阶(n3)、k次方阶(nk)

  • 指数阶 O(2n)

  • 阶乘阶 O(n!)

O(m) + O(n)

5、空间复杂度分析

时间复杂度表示:算法的执行时间数据规模之间的增长关系。

空间复杂度表示:算法的存储空间数据规模之间的增长关系。

常见的空间复杂度:

O(1)、 O(n)、 O(n2)

6 学习思路

多练习。看到代码多进行分析

Note: 下面下面是之前写过的一篇时间复杂度 分析的文章:

时间复杂度分析

相关文章

  • 数据结构与算法-复杂度分析

    时间、空间复杂度:衡量算法执行小路的指标,数据结构与算法离不开时间、空间复杂度分析,复杂度分析是算法的精髓。 为什...

  • 数据结构学习大纲

    第一章 绪论 数据结构基本概念数据结构基本概念算法的基本概念算法的时间复杂度与空间复杂度分析基础时间复杂度分析空间...

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

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

  • 数据结构与算法

    参考文档《算法图解》《计算机算法设计与分析》 简单查找 时间复杂度 空间复杂度 java Demo 二分查找 时间...

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

    空间复杂度分析 全称渐进空间复杂度(asymptotic space complexity),表示算法的存储空间与...

  • 算法

    重拾算法:算法效率分析(一)(空间复杂度和时间复杂度) 详解算法的各种复杂度的差别有多大(带图) 算法复杂度 选择...

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

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

  • 常用java算法理解时间复杂度与空间复杂度

    常用的算法的时间复杂度和空间复杂度: 排序法 最差时间分析 = 平均时间复杂度 = 稳定...

  • 数据结构与算法 复杂度分析

    复杂度:时间复杂度和空间复杂度。复杂度的分析是学习数据结构与算法的基础! 极简概述 复杂度的分析已经有很多很好...

  • 算法复杂度

    关键词:算法分析、算法复杂度、时间复杂度、空间复杂度 相关文章详细解释了这些内容,以下是个人理解与部分摘录 在cs...

网友评论

      本文标题:day02 算法的时间与空间复杂度分析

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