美文网首页
复杂度概念

复杂度概念

作者: 小吉头 | 来源:发表于2020-11-02 22:06 被阅读0次

时间复杂度

评估算法运行效率的一个单位,常见的时间复杂度:
O(1)

print('Hello World')   #基本的操作,加减乘除、打印等时间复杂度是O(1)
#结果是O(1),不是O(3)
#O(1),O理解为大约,1理解为一个单位。O(n),O理解为大约,n理解为单位。O(n^2),O理解为大约,n^2理解为单位。只是单位大小有区别,比如小时、分钟、秒
#比如几秒钟,打印三次不会表达成3个几秒钟,因为时间复杂度是用来表达一个大概值,所以统称为几秒钟
#这里是基本操作重复执行的次数只要没有上升到n,都是O(1)
print("Hello World1")
print("Hello World2")
print("Hello World3")

O(n)

for i in range(n):
    print('Hello World')

O(n^2)

for i in range(n):
    for j in range(n):
        print('Hello World')
#结果是O(n^2),不是O(n^2 + n)
#n^2是一个大单位,n是一个小单位,不会表达成几分钟零几秒。只留大单位表达大概值
for i in range(n):
    print('Hello World')
    for j in range(n):
        print('Hello World')

O(n^3)

for i in range(n):
    for j in range(n):
        for k in range(n):
            print('Hello World')

O(logn)

#每次循环减半
while n > 1:
    print(n)
    n = n // 2
  • 时间复杂度用来区分随着n变大,时间复杂度高的算法会越来越大
    比如O(n)和O(10n),随着n变大,两者始终相差10倍
    但是O(n)和O(n^2),随着n变大,O(n ^ 2)会远大于O(n)
  • 计算机性能一样、问题规模一样并且足够大的情况下,时间复杂度高的算法比复杂度低的算法慢
    常见的时间复杂度按效率排序:
    O(1)<O(logn)<O(n)<O(nlogn)<O(n ^ 2)<O(n ^ 2 logn)<O(n^3)

空间复杂度

用来评估算法占用内存大小的一个单位

  • 算法使用了几个变量:O(1)
  • 算法使用了长度为n的一维列表:O(n)
  • 算法使用了m行n列的二维列表:O(mn)
    内存现在已经很便宜了,所以有时候会使用空间换时间

相关文章

  • 数据结构学习大纲

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

  • 复杂度概念

    时间复杂度 评估算法运行效率的一个单位,常见的时间复杂度:O(1) O(n) O(n^2) O(n^3) O(lo...

  • 记录六 时间复杂度和空间复杂度

    一个算法的优劣性主要是从时间复杂度和空间复杂度进行衡量的。 时间复杂度的概念 (下面将会以概念和大量习题了解时间复...

  • [数据结构与算法-iOS 实现]冒泡排序附demo

    冒泡排序 先来看看 冒泡排序的概念和原理 概念 原理 时间复杂度 时间复杂度 算法稳定性 代码及注释 demo

  • 算法相关

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

  • 复杂度分析(二)

    一、复杂度分析的4个概念 最坏情况时间复杂度:代码在最理想情况下执行的时间复杂度。 最好情况时间复杂度:代码在最坏...

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

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

  • 复杂度分析-下

    复杂度分析的四个概念 1.最坏情况时间复杂度   代码在最理想情况下执行的时间复杂度。 2.最好情况时间复杂度  ...

  • 时间复杂度概念,最好,最坏,平均,均摊时间复杂度区别

    一、复杂度分析的4个概念 1.最坏情况时间复杂度:代码在最理想情况下执行的时间复杂度。2.最好情况时间复杂度:代码...

  • 复杂度分析(二)

    复杂度分析的四个概念最坏情况时间渐进复杂度:代码在最理想情况下执行的时间复杂度。最好情况时间渐近复杂度:代码在最坏...

网友评论

      本文标题:复杂度概念

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