时间复杂度: 时间复杂性
N二次方 > N > log2N
// O(1) : 只会被执行一次
let i = 0;
i += 1;
// O(N): 循环
for ( let i =0 ; i < n; i++) {
console.log(i)
}
// Noto O(1) + O(N) = O(N)
// O(logN) 多次循环
let i = 1;
while( i < n) {
console.log(i);
i *= 2
// 2的多少次方
}
空间复杂度: 算法在运行中临时内存占用多少
// O(1): 声明单个变量
let i = 0;
i =+ 1;
// O(N): 声明一个数组,添加了多个值
let list = []
for ( let i =0 ; i < n; i++) {
list.push(i)
}
// O(N^2): 矩阵. 队列、多维数组
let max = []
for ( let i =0 ; i < n; i++) {
max.push([i])
for ( let j = 0 ; j < n; j++) {
max[i].push(j)
}
}