1 / 40
文档名称:

java数据结构算法实现.doc

格式:doc   页数:40
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

java数据结构算法实现.doc

上传人:1017848967 2016/8/2 文件大小:0 KB

下载得到文件列表

java数据结构算法实现.doc

相关文档

文档介绍

文档介绍:表示法:粗略的量度方法即算法的速度是如何与数据项的个数相关的算法大O 表示法表示的运行时间线性查找 O(N) 二分查找 O(logN) 无序数组的插入 O(1) 有序数组的插入 O(N) 无序数组的删除 O(N) 有序数组的删除 O(N) O(1) 是最优秀的,O(logN) 良好,O(N) 还可以,O(N2) 稍差( 在冒泡法中见到) public class JWzw { // 插入排序 public void insertArray(Integer []in){ int tem = 0; int num = 0; int upnum = 0; for ( int i= 0; i< in. length ; i++) { for ( int j=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 ( int i= 0; i< in. length ; i++) { System. out .print(in[i]); if (i < in. length - 1) { System. out .print( "," ); }} System. out .println(); System. out .println( " 插入排序循环次数:" + num); System. out .println( " 移动次数: "+ upnum); System. out .print( "\n\n\n" ); } // 选择排序 public void chooseArray(Integer []in){ int tem = 0; int num = 0; int upnum = 0; for ( int i= 0;i < in. length ;i++) { for ( int j= i;j < in. length - 1;j++){ num++; if (in[j+1] < in[j]){ tem = in[j+1]; in[j + 1] = in[j]; in[j] = tem; upnum++; }}} for ( int i= 0; i< in. length ; i++) { System. out .print(in[i]); if (i < in. length - 1) { System. out .print( "," ); }} System. out .println(); System. out .println( " 选择排序循环次数:" + num); System. out .println( " 移动次数: "+ upnum); System. out .print( "\n\n\n" ); } // 冒泡排序 public void efferArray(Integer []in){ int tem = 0; int num = 0; int upnum = 0; for ( int i= 0;i < in. length ;i++){ for ( int j= i;j < in. length - 1;j++) { num++; if (in[j+1] < in[i]){ tem = in[j+1]; in[j+1] = in[i]; in[i] = tem; upnum++; }}} for ( int i= 0; i< in. length ; i++) { System. out .print(in[i]); if (i < in. length - 1) { System. out .print( "," ); }} System. out .println(); System. out .println( " 冒泡排序循环次数:" + num); System. out .println( " 移动次数: "+ upnum); System. out .print( "\n\n\n" ); } // 打印乘法口诀 public void printMulti(){ for ( int j= 1; j< 10; j++) { for ( int i= 1; i <= j; i++) { System. out .print(i +"*"+j+"="+j*i+ "\t" ); } System. out .print( "\t\n" ); } System. out .print( "\n\n\n" ); } // 打印 N*1+N*2+N*3 =num 的所有组