时间复杂度
常数型复杂度:o(1)
只要循环的次数是可知的,那么就是常数型复杂度
线性型复杂度:O(m)
int m;
for(int j = 0;j < m;m++){
}
对数型复杂度:nlog(n)
int c=1;
for(int i=0;i<n;i++){
while(c<n){
c=c*2;
}
}
其实就是while循环的复杂度是:n=c^2 -> c=log2^n -> 在计算复杂度时常数可以省略,也就是log(n)
外部的for循环的复杂度是n,因此组合起来就是n*log(n)
平方型:O(n^2)
for(int i=0;i<=n,i++){
for(int j=i;j<=n;j++){
}
}
(n+1)n/2 ≈n^2
空间复杂度:表示的是占用的内存
int a[] = new int[n]; --> O(n)