今日做实验涉及到上百万数字的排序问题,研究了一下基数排序,这篇文章给了我很大的启发,从中学习到了很多。
http://blog.youkuaiyun.com/yutianzuijin/article/details/22876017
虽然改进后,性能有一定的提升,但是,与 Java 库自带的排序(Arrays.sort) Dual-Pivot Quicksort(点击打开链接)性能还是有较大差距。
控制每个数字在一百万内随机,取一千万个数字排序,以下是性能表:
ok quick sort : 1053 my radix sort : 3238
ok quick sort : 973 my radix sort : 3341
ok quick sort : 978 my radix sort : 3267
ok quick sort : 970 my radix sort : 3192
ok quick sort : 971 my radix sort : 3311
ok quick sort : 975 my radix sort : 3256
OK 表示两个算法得到的结果一致,my radix sort 即是我实现的基数排序。
有时间再好好研究下这个算法。