三种排序算法比较
最近一个项目牵涉到大量数据的排序和查找。虽然我们知道了几种常用算法,但是他们的
效率究竟怎么样,适合什么样的情况也没有见到说明文档。
下面我就来比较一下下面三种算法(用 ArrayList.Sort()作为比较对象):
说明一下:1.该程序主要正对于无序数组,字符以及其他排序并不适合
2.要求数组中的元素全为自然数,非自然数的情况并未测试
3.数组元素个数指的是:该数组中的项数
4.范围值的是该数组中生成随机元素时元素的范围,为了简单我们默认为 1-?
5.左边的时间是我们算法的时间,右边的时间是 ArrayList 的排序时间。
好了,先来看看计数排序的方式:
计数排序:
1.元素个数很多,跨度很小