时间空间复杂度的初步理解---后续补充
时间复杂度:算法需要执行的次数。
空间复杂度:算法需要消耗的内存空间大小。
计算 1加到100
算法1:(1+100)*(100/2) =5050 时间复杂度 0(1) 因为只执行了一次。
算法2:(伪代码) for 循环 遍历 i++ 直到计算到100 时间复杂度 0(n) 执行了100次
算法3:(伪代码) 双重for 循环 ---这里可能不太符合 1 加到 100 但为了理解如何计算使用另外一例:
for(int i = 0; i < n; i++){
for(int j = 0; j < n; j++){
}
} //时间复杂度O(n^2) 也就是平方阶
算法4:这个目前没看懂怎么算的。
int i = 1, n = 100;
while(i < n){ i = i * 2 ;}
//设执行次数为x. 2^x = n 即x = log2n
//时间复杂度O(log2n)
while(i < n){ i = i * 2 ;}
//设执行次数为x. 2^x = n 即x = log2n
//时间复杂度O(log2n)