时间复杂度算法执行时间随输入数据规模 n 增长的变化趋势。常数阶O(1) 执行时间与数据规模n无关对数阶O(log n) 执行时间随着数据规模n的增加呈对数级增加线性阶O(n) 执行时间与数据规模n呈正比线性对数阶O(n log n)平方阶O(n²)指数阶O(2ⁿ)二分查找publicclass二分查找{publicstaticvoidmain(String[]args){int[]array{1,2,3,4,5,6,7,8,9,10};System.out.println(binarySearch(array,8));}privatestaticintbinarySearch(int[]array,intnum){intleft0;intrightarray.length-1;intindexarray.length/2;while(index0indexarray.length-1){if(array[index]num){index(indexright)/2;leftindex;}elseif(array[index]num){index(leftindex)/2;rightindex;}else{returnindex;}}return-1;}}递归一直自己调用自己直到某一个条件下return斐波那契数列publicclass斐波那契数列{publicstaticvoidmain(String[]args){// 第一项是0第二项是1第n项 第n-1项 第n-2项System.out.println(fbnq(7));}privatestaticintfbnq(intnum){if(num1){return0;}elseif(num2){return1;}returnfbnq(num-1)fbnq(num-2);}}汉诺塔publicclass汉诺塔{staticLinkedListIntegeranewLinkedList();staticLinkedListIntegerbnewLinkedList();staticLinkedListIntegercnewLinkedList();publicstaticvoidmain(String[]args){a.addLast(4);a.addLast(3);a.addLast(2);a.addLast(1);move(4,a,b,c);System.out.println(a);System.out.println(b);System.out.println(c);}// a-原柱子 b-辅助柱子 c-目标柱子privatestaticvoidmove(intn,LinkedListIntegera,LinkedListIntegerb,LinkedListIntegerc){if(n1){c.addLast(a.removeLast());}else{move(n-1,a,c,b);c.addLast(a.removeLast());move(n-1,b,a,c);}}杨辉三角一个数等于上面两个数之和。publicclass杨辉三角{publicstaticvoidmain(String[]args){yhsj(5);}privatestaticvoidyhsj(intn){// n-行数for(inti0;in;i){// i-行数从0开始for(intk0;kn-i;k){// 打印前面的空格System.out.print( );}for(intj0;ji;j){// j-列数System.out.print(element(i,j) );}System.out.println();}}publicstaticintelement(inti,intj){if(j0){// 第一列return1;}if(ij){// 最后一列return1;}// 上一行前一列 上一行同列returnelement(i-1,j-1)element(i-1,j);}}