计数排序草稿

186 阅读1分钟

编写测试用例:

1、基本测试用例

SortingUtil.testSortingAlgorithm(new CountingSort(),
        new GenerateRandomArrayStrategy(100_0000, 0, 1_0000));

输出:

您使用的排序算法是:计数排序。
测试用例特点:完全随机,规模:1000000,最小值:0,最大值:10000。
生成第 1 个数组,耗时 0.02500000 秒。
生成第 2 个数组,耗时 0.04600000 秒。
生成第 3 个数组,耗时 0.01400000 秒。
您编写的排序算法正确!

2、O(N) 数量级理解

SortingUtil.testSortingAlgorithm(new CountingSort(),
        new GenerateRandomArrayStrategy(10_0000, 0, 1_0000));

SortingUtil.testSortingAlgorithm(new CountingSort(),
        new GenerateRandomArrayStrategy(100_0000, 0, 1_0000));

SortingUtil.testSortingAlgorithm(new CountingSort(),
        new GenerateRandomArrayStrategy(1000_0000, 0, 1_0000));

输出:

您使用的排序算法是:计数排序。
测试用例特点:完全随机,规模:100000,最小值:0,最大值:10000。
生成第 1 个数组,耗时 0.00100000 秒。
生成第 2 个数组,耗时 0.00100000 秒。
生成第 3 个数组,耗时 0.00100000 秒。
您编写的排序算法正确!

您使用的排序算法是:计数排序。
测试用例特点:完全随机,规模:1000000,最小值:0,最大值:10000。
生成第 1 个数组,耗时 0.01300000 秒。
生成第 2 个数组,耗时 0.01400000 秒。
生成第 3 个数组,耗时 0.01400000 秒。
您编写的排序算法正确!

您使用的排序算法是:计数排序。
测试用例特点:完全随机,规模:10000000,最小值:0,最大值:10000。
生成第 1 个数组,耗时 0.18400000 秒。
生成第 2 个数组,耗时 0.15500000 秒。
生成第 3 个数组,耗时 0.15700000 秒。
您编写的排序算法正确!