时间复杂度/空间复杂度O(1)、O(n)

妖狐艹你老母 2022-12-04 09:10 282阅读 0赞

1.名词解析

O(x):表示算法时空(时间/空间)的复杂度

O括号里的函数 x 表示:某个算法的耗时/耗空间与数据增长量之间的关系。其中O(n),O(n^2)等的 n 表示输入数据的量

2.O(1)

O(1),即是最低的时空复杂度。即,耗时/耗空间与输入数据大小无关,无论输入数据增大多少倍,耗时/耗空间都不变
例:哈希算法,无论数据规模多大,都可以在一次计算后找到目标(不考虑冲突的话)

3.O(n)

时间复杂度为O(n),就代表数据量增大几倍,耗时也增大几倍
例:遍历算法,找数组里最大或最小的值,需要把数组的 n 元素遍历一次,操作 n 次

4.O(n^2)

时间复杂度O(n^2),就代表数据量增大n倍时,耗时增大n的平方倍
例:冒泡排序,双重for循坏,对n个数排序,需要扫描n×n次

5.O(log n)

当数据增大n倍时,耗时增大log n倍(这里的log是以2为底的,比如,当数据增大256倍时,耗时只增大8倍)
例:二分查找,每找一次排除一半的可能,256个数据中查找只要找8次就可以找到目标

6.O(n log n)

O(n log n)同理,就是n乘以log n,当数据增大256倍时,耗时增大256*8=2048倍
例:归并排序

发表评论

表情:
评论列表 (有 0 条评论,282人围观)

还没有评论,来说两句吧...

相关阅读

    相关 时间复杂_空间复杂

    时间复杂度\_空间复杂度 主要说明以下3点: 1.算法效率 2.时间复杂度 3.空间复杂度 一、算法效率 算法效率分析分为两种:第一种是时间效率,第二种

    相关 时间复杂空间复杂

    算法的时间复杂度和空间复杂度合称为算法的复杂度。 1.时间复杂度 (1)时间频度  一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可

    相关 时间复杂空间复杂

    一、为什么要研究时间和空间复杂度     假设计算机是无限快的并且计算机存储器是免费的的,你还有什么理由来研究算法吗?即使只是因为你还想证明你的解法会终止并以正确的答案终