This page say :

请选择一篇博客进行编辑

大O表示法

时间复杂度

  • 执行次数函数大O表示
    13O(1)常数阶
    2n+3O(n)线性阶
    3n²+2n+1O(n2)平方阶
    5log2n+20O(logn)对数阶
    2n+3nlog2n+19O(nlogn)nlogn阶
    6n3+2n2+3n+4O(n3)立方阶
    2nO(2n)指数阶
  • ![]( https://img-blog.csdnimg.cn/20200907155125375.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2Fuc2h1YWlfYXcx,size_16,color_FFFFFF,t_70)

  • 第一组

    print('Hello,World')
    print('Hello,Python')
    print('Hello,Java')

    # 第二组
    for i in range(n):
    print('Hello,World')
    for j in range(n):
    print('Hello,World')

    在第一组代码中,有三行代码,共执行了3次,所以它的运行时间为O(3×t);
    第二组代码中,第一个for循环中执行了print,所以执行时间为n×t,在嵌套的for循环中,执行了n次,所以运行时间为n²×t,所以第二组代码运行时间为O((n+n²)×t)。

空间复杂度

  • 空间复杂度是用来评估算法内存占用大小的式子。空间复杂度的表示方式与时间复杂度完全一样。示例代码如下:

    第一组

    a='11' #变量
    b='22'
    c='33'

    # 第二组
    a=[1,2,3,,...,n] # 一维数组

    # 第三组
    a[m][n]=9 # 二维数组
    在第一组代码中,有a、b、c三个变量,所以其空间复杂度为O(1);

    第二组代码中,a是一维数组,长度为n,所以其空间复杂度为O(n);

    第三组代码中,a是二维数组,长度mn,所以其空间复杂度为O(mn);

    注意:一般情况下,时间复杂度的优先级比空间复杂度优先级高,也就是优先选择时间复杂度低的算法。

posted @ 2024-01-14 17:26  Computer_Tech  阅读(59)  评论(0)    收藏  举报