美文网首页
算法复杂度的理解

算法复杂度的理解

作者: crazyhank | 来源:发表于2019-10-01 21:21 被阅读0次

对一个算法的复杂度可以从时间和空间两个维度来评估,我们一般比较关心时间复杂度,它的定义如下:

大O符号表示法,即 T(n) = O(f(n)),其中 n 表示数据规模 ,O(f(n))表示运行算法所需要执行的指令数,和f(n)成正比。

上面公式中用到的 Landau符号是由德国数论学家保罗·巴赫曼(Paul Bachmann)在其1892年的著作《解析数论》首先引入,由另一位德国数论学家艾德蒙·朗道(Edmund Landau)推广。Landau符号的作用在于用简单的函数来描述复杂函数行为,给出一个上或下(确)界。在计算算法复杂度时一般只用到大O符号,Landau符号体系中的小o符号、Θ符号等等比较不常用。这里的O,最初是用大写希腊字母,但现在都用大写英语字母O;小o符号也是用小写英语字母o,Θ符号则维持大写希腊字母Θ。

有一篇以动画的形式解释算法时间复杂度的文章,个人感觉非常不错,可以参考下:https://www.jianshu.com/p/5f0d360d4752

相关文章

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

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

  • 18-04-21 python3算法笔记 001算法分析

    目标 算法分析重要性学会使用算法分析工具大O记号来描述时间复杂度理解常用数据结构的时间复杂度理解数据如何影响算法分...

  • 简单理解算法时间复杂度

    简单理解算法时间复杂度 前言 这里的解释说明都是从知乎上 《如何理解算法时间复杂度的表示法O(n^2) 、O(n)...

  • 算法复杂度

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

  • 关于时间复杂度和空间复杂度的理解

    做算法题,很重要的一点就是,需要分析算法的时间按复杂度和空间复杂度。这里看一下对于时间复杂度和空间复杂度的理解 1...

  • 基本算法:排序and查找(javascript版本)

    知识扩充:时间复杂度:算法的时间复杂度是一个函数,描述了算法的运行时间。时间复杂度越低,效率越高。自我理解:一个算...

  • 基本算法整理

    知识扩充:时间复杂度:算法的时间复杂度是一个函数,描述了算法的运行时间。时间复杂度越低,效率越高。自我理解:一个算...

  • 算法复杂度

    课程布置的作业,遇事不决,度娘解决~ 一、请谈谈你对算法复杂度的理解? 算法复杂度是指算法在编写成可执行程序后,运...

  • 机器学习:算法简介

    K-近邻算法 作用:分类算法 优点:最简单、不需要训练、容易理解 缺点:计算复杂度高、空间复杂度高 原理:计算新数...

  • 算法基础知识

    算法的复杂度 算法的复杂度: 算法的时间复杂度和空间复杂度合称为算法的复杂度,一般不特别说明,讨论的时间复杂度均是...

网友评论

      本文标题:算法复杂度的理解

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