直接插入排序,希尔排序,冒牌排序,选择排序基本性能测试

来源:互联网 发布:python编程初学者指南 编辑:程序博客网 时间:2024/05/07 13:18

仅仅是基本的测试,但是也能说明一定问题,

package 排序;public class TestCase{public static void main(String[] args){int[] testarray=GenerateArray.generateArray(50000);BubbleSort.test(testarray, 100);InserSort.test(testarray, 100);InserSort.test1(testarray, 100);InserSort.test2(testarray, 100);ShellSort.test(testarray, 100);选择排序.test(testarray, 100);}}
package 排序;import java.util.Random;public class GenerateArray{public static int[] generateArray(int n){ int[] a=new int[n];Random r=new Random();for(int i=0;i<n;i++){a[i]=r.nextInt(n);}return a;}/** * 默认产生10000个随机数 * @return */public static int[] generateArray(){ int[] a=new int[10000];Random r=new Random();for(int i=0;i<10000;i++){a[i]=r.nextInt(10000);}return a;}}


GenerateArray.generateArray(50000);这段代码表示产生的要排序的数据量(随机生成0-50000)

我把要测试的数据从5 50 500 5000 50000都测试过,基本结论是数据量在500以前的时候效率差不多,

但是数据量增大到5000 50000测试结果相差较大,

总的趋势是:希尔排序最快,直接插入排序居中,冒泡排序,选择排序最慢

控制台打印结果为50000个测试数据进行排序结果,每个算法测试100次,取耗时的平均值

BubbleSort为冒泡排序

InserSort.sort(),InserSort.sort1(),InserSort.sort2()为直接插入排序

ShellSort.sort(()为希尔排序


0 0
原创粉丝点击