直接插入排序,希尔排序,冒牌排序,选择排序基本性能测试
2013-12-22 11:50
323 查看
仅仅是基本的测试,但是也能说明一定问题,
GenerateArray.generateArray(50000);这段代码表示产生的要排序的数据量(随机生成0-50000)
我把要测试的数据从5 50 500 5000 50000都测试过,基本结论是数据量在500以前的时候效率差不多,
但是数据量增大到5000 50000测试结果相差较大,
总的趋势是:希尔排序最快,直接插入排序居中,冒泡排序,选择排序最慢
控制台打印结果为50000个测试数据进行排序结果,每个算法测试100次,取耗时的平均值
BubbleSort为冒泡排序
InserSort.sort(),InserSort.sort1(),InserSort.sort2()为直接插入排序
ShellSort.sort(()为希尔排序
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 ; 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(()为希尔排序
相关文章推荐
- 排序(选择,冒泡,直接插入,希尔排序)
- IOS- 快速排序,冒泡排序,直接插入排序和折半插入排序,希尔排序,堆排序,直接选择排序
- 菜鸟学编程之三:三种最基本排序算法的实现(冒泡排序、选择排序、直接插入排序)
- 基本排序算法及分析(一):插入排序,直接选择排序
- 各种基本排序(直接插入;希尔;选择;堆;冒泡;快排)
- C语言8种排序算法及其实现 1.希尔排序 2.二分插入法 3.直接插入法 4.带哨兵的直接排序法 5.冒泡排序 6.选择排序 7.快速排序 8.堆排序
- 随机生成30个数,试比较直接插入排序、简单选择排序、冒泡排序、快速排序、堆排序和希尔排序的时空性能和稳定性。
- 常见排序集合(冒泡排序,选择排序,直接插入排序,二分插入排序,快速排序,希尔排序,归并排序)
- 三种基本排序-冒泡排序、直接插入排序、选择排序
- 数据结构之排序算法(五)-直接插入排序,希尔排序,直接选择排序
- 冒泡排序 快速排序 选择排序 堆排序 直接插入排序 希尔排序 归并排序
- 【数据结构】 单链表的基本操作+反转+选择/直接插入/冒泡3种排序
- 牛客网Java刷题知识点之插入排序(直接插入排序和希尔排序)、选择排序(直接选择排序和堆排序)、冒泡排序、快速排序、归并排序和基数排序(博主推荐)
- 排序(二)简单选择排序、直接插入排序、希尔排序
- 三种基本排序-冒泡排序、直接插入排序、选择排序
- 排序算法: 冒泡排序, 快速排序,希尔排序,直接插入排序 ,直接选择排序,归并排序,堆排序
- 比较排序总结——直接插入排序,希尔排序,选择排序,堆排序,冒泡排序,快速排序,归并排序
- java版排序算法简介及冒泡排序以及优化,选择排序,直接插入排序,希尔排序,堆排序,快速排序及其优化前言 2 分类 2 稳定性 3 时间复杂度 4 Java实现版本 5 1、冒泡排序 6 2、选择排序
- 冒泡排序-直接选择排序-直接插入排序-希尔排序-java实现
- 编程实现直接插入排序、希尔排序、冒泡排序、快速排序、选择排序