美文网首页
数据结构与算法--时间空间复杂度(基础篇)

数据结构与算法--时间空间复杂度(基础篇)

作者: zhujunhua | 来源:发表于2019-07-15 14:01 被阅读0次

时间复杂度分析

大O复杂度表示法

大O时间复杂度实际上并不具体表示代码真正的执行时间,而是表示算法的执行时间随数据规模增长的变化趋势,所以,也叫作渐进时间复杂度(asymptotic time complexity),简称时间复杂度。
表示:T(n)=O(f(n))
例如:T(n)=O({n}^2),其中f(n)=n^2

大O复杂度表示法,就是代码执行的次数,三个比较实用的方法:

  1. 只关注循环执行次数最多的一段代码
  2. 加法法则:总复杂度等于量级最大的那段代码的复杂度
    多段代码组成的代码的分析
  3. 乘法法则:嵌套代码的复杂度等于嵌套内外代码复杂度的乘积
    循环内的方法调用

常见的复杂度量级

1. 多项式时间复杂度

常量阶 O(1)
对数阶 O(logn)
线性阶 O(n)
线性对数阶 O(nlogn) 比如:归并排序、快速排序
平方阶 O(n^2),立方阶 O(n^3),...,k次方阶 O(n^k)

2. 指数型时间复杂度

指数阶 O(2^n)
阶乘阶 O(n!)

对数知识

log_{3}n=log_{3}2*log_{2}n,所以通常省略底数,计作O(logn)

图片发自:极客时间《数据结构与算法》王争

空间复杂度分析

全称渐进空间复杂度(asymptotic space complexity),表示算法的存储空间与数据规模之间的增长关系。
就是看程序申请的内存空间与数据规模n的关系。
常见的空间复杂度就是O(1)O(n)O(n^2)

内容总结自:
极客时间:《数据结构与算法》王争

相关文章

  • 一位算法工程师的自我修养

    数据结构与算法 基本算法思想动态规划贪心算法回溯算法分治算法枚举算法 算法基础 时间复杂度 空间复杂度 最大复杂度...

  • 数据结构学习大纲

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

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

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

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

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

  • 统考408 | 时间与空间复杂度分析真题 (2009 - 201

    前言 时间与空间复杂度分析是数据结构与算法的基础,这篇文章整理了 2009 年 - 2018 年计算机考研专业课 ...

  • 数据结构与算法 - 查找

    数据结构与算法系列文章数据结构与算法 - 时间复杂度数据结构与算法 - 线性表数据结构与算法 - 树形结构数据结构...

  • 数据结构与算法 - 树形结构

    数据结构与算法系列文章数据结构与算法 - 时间复杂度数据结构与算法 - 线性表数据结构与算法 - 树形结构 目录 ...

  • 数据结构与算法之线性表

    前言 上一篇《数据结构和算法之时间复杂度和空间复杂度》中介绍了时间复杂度的概念和常见的时间复杂度,并分别举例子进行...

  • 八大内部排序总结

    程序 = 数据结构 + 算法 程序好坏 = 时间复杂度 + 空间复杂度 + 应用场景 如何选择算法应用的场景:根据...

  • 常用算法Big-O复杂度介绍(时间和空间复杂度)

    常用函数Big-O示意图 常见数据结构操作时间、空间复杂度 常见排序算法时间、空间复杂度

网友评论

      本文标题:数据结构与算法--时间空间复杂度(基础篇)

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