时间复杂度
- 一个函数O(1),O(n),O(logn)
- 定性描述该算法的运行时间
O(1)let i = 1;i += 1;//每次只执行一次O(n)for(let i=0;i<10;i++){console.log(i)}O(logN)let i = 1;while(i<n){i*=2}
O(n)+O(1) = O(n)
O(n)*O(n) = O(n^2)
空间复杂度
- 一个函数O(1),O(n),O(n^2)
- 算法在运行中占用存储空间的大小的度量(代码占用的存储空间越小代码就越好)
O(1)let i = 1; //单个变量占用的内存永远是1,恒定的内存i += 1;O(n)let list = [];for(let i=0;i<10;i++){list.push(i)}O(n^2)//二维数组(矩阵)let motrix = [];for(let i=0;i<n;i+=1){motrix.push([]);for(let j=0;j<n;j+=1){motrix[i].push(j);}}
