空间复杂度

描述算法运行时占用的额外存储空间随输入规模增长的渐近趋势,是评估算法内存效率的核心指标。

核心定义

  • 空间复杂度:算法运行时占用的额外存储空间随输入规模 $n$ 增长的渐近上界,记为 $O(f(n))$
  • 不包含输入参数:分析空间复杂度时,输入参数本身占用的空间不计算在内
  • 只看额外空间:关注算法自己申请了多少额外空间来存储数据

快速估算方法

实用技巧:看算法申请了多少额外空间

空间使用 空间复杂度 示例
只用临时变量 $O(1)$ 几个 int/指针变量
创建大小为 n 的数组 $O(n)$ int[] arr = new int[n]
创建 n×n 的二维数组 $O(n^2)$ int[][] matrix = new int[n][n]

相关概念


Interactive Graph