算法复杂度

作者: 测试账号 | 来源:发表于2021-06-16 20:16 被阅读0次

在IT的世界,有两个特殊的单位,一个叫时间复杂度,另一个空间复杂度,这两个单位是对算法设计好坏的衡量标准。即都是越小越好。

空间复杂度

空间复杂度一般是比较好掌握,就是你申请的内存大小决定了你的空间复杂度,如果内存固定,那空间复杂度就是O(1),如果直接申请n块内存,空间复杂度就是O(n)

时间复杂度

时间复杂度一般是根据具体需求来进行算法实现的,所以比较多样性一点,同时也存在着很大的优化空间。常见的时间复杂度一般有以下几种:

常数阶O(1)

当算法中不涉及变量n,仅有常数就可以完成的,一般时间复杂度为O(1);

线性阶O(n)

当算法中出现了循环执行的函数,且循环次数仅为n次,算法中也未出现递增数的乘法,这时候时间复杂度为O(n);

对数阶O(logN)

当算法中出现循环执行的函数,且循环次数为n次,算法中也出现了递增数和常数的阶乘,这时候时间复杂度为O(logN);

线性对数阶O(nlogN)

当算法中出现了循环函数的嵌套,且外函数循环次数为n次,内循环为对数阶循环的时候,这时候时间复杂度为O(nlogN);

平方阶O(n²)

当算法中出现了嵌套循环函数,而且内外循环次数都是n的时候,这时候时间复杂度为O(n²)

立方阶O(n³)、K次方阶O(n^k)、指数阶(2^n)

参考上面的O(n²) 去理解就好了,O(n³)相当于三层n循环,其它的类似。

常见的算法时间复杂度由小到大依次为:Ο(1)<Ο(logn)<Ο(n)<Ο(nlogn)<O(n²)<O(n³)<…<Ο(2^n)<Ο(n!)

相关文章

  • 算法相关

    算法复杂度相关概念:漫画:什么是时间复杂度?算法的时间复杂度和空间复杂度详解算法题库:力扣 一、排序算法 排序算法...

  • 算法基础知识

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

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

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

  • 算法

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

  • 算法复杂度

    算法的复杂度是以什么来度量的? 算法的复杂度是以时间复杂度和空间复杂度来计算的。 ①算法的时间复杂度 ...

  • 算法复杂度

    算法复杂度 算法复杂度的目的:分析代码执行的时间成本。我们从五个方面来介绍算法复杂度:时间复杂度、时间复杂度分类、...

  • 全网最好的数据结构学习文章合集系列之空间复杂度

    二、空间复杂度 算法概念 及 复杂度 简单的LRU Cache设计与实现 js算法初窥07(算法复杂度) 算法的时...

  • 数据结构-0-时间复杂度和空间复杂度

    1. 算法的复杂度: 算法的复杂度分为时间复杂度和空间复杂度。时间复杂度,是衡量算法执行时间的长度;空间复杂度,是...

  • 时间和空间复杂度

    算法复杂度 算法复杂度分为和。 时间复杂度是指执行算法所需要的计算工作量。 空间复杂度是指执行这个算法所需要的内存...

  • 算法的复杂度

    算法复杂度分为时间复杂度和空间复杂度。时间复杂度是指执行算法所需要的计算工作量,而空间复杂度是指执行这个算法所需要...

网友评论

    本文标题:算法复杂度

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