本质上是一个函数,用O表示,比如O(1)、O(n)、O(n)…… ,用来定性描述该算法在运行过程中临时占用存储空间的大小。
O(1)的程序👇
let i = 0i += 1
该代码只声明了单个变量,单个变量占用的内存永远是1是恒定的,所以空间复杂度为O(1)
O(n)的程序👇
const list = []for(let i = 0; i < n; i++){list.push(i)}
这段代码中,list被存入了n个值,这n个值就占用了n个单元,因此其空间复杂度为O(n)
O(n)的程序👇
矩阵(二维数组)就是典型的O(n)
const matrix = []for(let i = 0; i < n; i++){matrix.push([])for(let j = 0; j < n; j++){matrix[i].push(j)}}
