01_空间复杂度

空间复杂度的计算

  1. 常量空间:当算法的存储空间大小固定,和输入规模没有直接的关系时,空间复杂度记 作O(1)。例如下面这段程序:
    void fun1(int n)
    {
        int var = 3;    
    }
    
  2. 线性空间:当算法分配的空间是一个线性的集合(如数组),并且集合大小和输入规模n成 正比时,空间复杂度记作O(n)。
    void fun2(int n)
    {
        int[] array = new int[n];
    }
    
  3. 二维空间:当算法分配的空间是一个二维数组集合,并且集合的长度和宽度都与输入规模n 成正比时,空间复杂度记作O(n2)。
    void fun3(int n)
    {
        int[][] matrix = new int[n][n];
    }
    
  4. 递归空间:纯粹的递归操作的空间复杂度也是线性的,如果递归的深度是n,那么空间复杂度就是O(n)。

猜你喜欢

转载自blog.csdn.net/weixin_42310008/article/details/112845817