Skip to content

什么是空间复杂度?

参考答案:

空间复杂度是对一个算法在运行过程中临时占用存储空间的大小。

计算方法

  • 忽略常数,用O(1)表示
  • 递归算法的空间复杂度=(递归深度n)*(每次递归所要的辅助空间)

仅仅只复制单个变量,空间复杂度为O(1)。

举例如下:空间复杂度为O(n) = O(1)。

javascript
let a = 1;
let b = 2;
let c = 3;
console.log('输出a,b,c', a, b, c);

递归实现,调用fun函数,每次都创建1个变量k。调用n次,空间复杂度O(n*1) = O(n)。

javascript
function fun(n) {
  let k = 10;
  if (n == k) {
  	return n;
  } else {
  	return fun(++n)
  }
}