算法入门(一):时间复杂度、空间复杂度

时间复杂度
    常数型复杂度:o(1)
        只要循环的次数是可知的,那么就是常数型复杂度
    线性型复杂度:O(m)
        int m;
        for(int j = 0;j < m;m++){
        }
    对数型复杂度:nlog(n)
        int c=1;
        for(int i=0;i             while(c                 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)

你可能感兴趣的:(算法)