文档介绍:大O表示法:粗略的量度方法即算法的速度是如何与数据项的个数相关的算法大O表示法表示的运行时间线性查找O(N)二分查找O(logN)无序数组的插入O(1)有序数组的插入O(N)无序数组的删除O(N)有序数组的删除O(N)O(1)是最优秀的,O(logN)良好,O(N)还可以,O(N2)稍差(在冒泡法中见到)lassJWzw{ //插入排序 publicvoidinsertArray(Integer[]in){ inttem=0; intnum=0; intupnum=0; for(inti=0;i<;i++){ for(intj=i-1;j>=0;j--){ num++; if(in[j+1]<in[j]){ tem=in[j+1]; in[j+1]=in[j]; in[j]=tem; upnum++; } else { break; } } } for(inti=0;i<;i++){ (in[i]); if(i<-1) { (","); } } (); ("插入排序循环次数:"+num); ("移动次数:"+upnum); ("\n\n\n"); } //选择排序 publicvoidchooseArray(Integer[]in){ inttem=0; intnum=0; intupnum=0; for(inti=0;i<;i++) { for(intj=i;j<-1;j++){ num++; if(in[j+1]<in[j]){ tem=in[j+1]; in[j+1]=in[j]; in[j]=tem; upnum++; } } } for(inti=0;i<;i++){ (in[i]); if(i<-1) { (","); } } (); ("选择排序循环次数:"+num); ("移动次数:"+upnum); ("\n\n\n"); } //冒泡排序 publicvoidefferArray(Integer[]in){ inttem=0; intnum=0; intupnum=0; for(inti=0;i<;i++){ for(intj=i;j<-1;j++) { num++; if(in[j+1]<in[i]){ tem=in[j+1]; in[j+1]=in[i]; in[i]=tem; upnum++; } } } for(inti=0;i<;i++){ (in[i]); if(i<-1) { (","); } } (); ("冒泡排序循环次数:"+num); ("移动次数:"+upnum); ("\n\n\n"); } //打印乘法口诀 publicvoidprintMulti(){ for(intj=1;j<10;j++){ for(inti=1;i<=j;i++){ (i+"*"+j+"="+j*i+"\t"); } ("\t\n"); } ("\n\n\n"); } //打印N*1+N*2+N*3=num的所有组合 publicvoidprintNumAssemble(intnum){ for(inti=0;i<num+1;i++){ for(intj=0;j<num/2+1;j++){ for(intin=0;in<num/3+1;in++){ if(i*1+j*2+in*3==num){ ("小马"+i+",\t中马"+j+",\t大马"+in); } } } } } /** ****@paramargs */ publicstaticvoidmain(String[]args){ JWzwjwzw=newJWzw(); intnum=3; ();//