2.1 时间复杂度为O(n)packageDataStructure;publicclassTimeComplexity{publicstaticvoidN(int n){for(int i =1; i <= n; i++){System.out.println("Hello,World!!!");}}}
2.2 时间复杂度为O(n的平方)packageDataStructure;publicclassTimeComplexity{publicstaticvoidN2(int n){for(int i =1; i <= n; i++){for(int j =1; j <= n; j++){System.out.println("Hello,World!!!");}}}}
2.3 时间复杂度为O(log2n)
log2n的计算过程:设x为总共循环的次数,则当2的x次方>n时,循环结束,所以解得x=log2n
packageDataStructure;publicclassTimeComplexity{publicstaticvoidlog2N(int n){for(int i =1; i <= n; i = i *2){System.out.println("Hello,World!!!");}}}
时间复杂度为O(1)——算法原地工作
packageDataStructure;publicclassSpaceComplexity{publicstaticvoidOne(int n){int i =1;while(i <= n){System.out.println("Hello,World!!!");
i++;}}}
时间复杂度为O(n)packageDataStructure;publicclassSpaceComplexity{publicstaticvoidN(int n){int[] flag =newint[n];}}
S(n)=O(n的平方)+O(n)+O(1)=O(n的平方)
时间复杂度为O(n的平方)packageDataStructure;publicclassSpaceComplexity{publicstaticvoidN2(int n){int[][] flag =newint[n][n];int[] other =newint[n];int m =1;}}
6.2 空间复杂度为O(n的平方)1+2+3+...+ n =[n(1+n)]/2=1/2*n*n +1/2*n
packageDataStructure;publicclassSpaceComplexity{publicstaticvoidRecursionN(int n){int[] flag =newint[n];if(n >1){RecursionN(n-1);}System.out.println("Hello,World!!!");}}