文档介绍:大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++){ ; 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++){ ; 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++){ ; if(i<-1) { ","); } } ; "冒泡排序循环次数:"+num); "移动次数:"+upnum); "\n\n\n"); } //打印乘法口诀 publicvoidprintMulti(){ for(intj=1;j<10;j++){ for(inti=1;i<=j;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; ();//打印乘法口诀 (100);//打印N*1+N*2+N*3=num的所有组合 Integerin[]={8,89,5,84,3,45,12,33,77,98,456,878,654,213,897}; (in);//冒泡排序 Integerin1[]={8,89,5,84,3,45,12,33,77,98,456,878,654,213,897}; (in1);//插入排序 Integerin2[]={8,89,5,84,3,45,12,33,77,98,456,878,654,213,897}; (in2);//选择排序//inti=num++; //; ; }}优先级队列classPriorityQueue{privatelong[]a=null;privateintnItems=0;