读书人

Java算法之 快速排序的兑现

发布时间: 2012-10-12 10:17:04 作者: rapoo

Java算法之 快速排序的实现
刚刚找到工作,但是发现自己虽然对数据结构的知识了解原理,但是实现的话,仍然有很大的麻烦。决定在大学的最后几个月对数据结构进行一个系统的详细的学习。好了,第一篇:快速排序的算法。由于我只是想实现一个简单的原理,所以类的构造就比较简单了,比较的原型都死int型的。

快速的排序的定义我不说了,直接贴源代码:



这个的实现是使用的是递归结构,所以说还是比较简单的。下面是一个实现了不使用系统的递归函数,自己定义的一个栈,用来排序,也是快速排序的算法实现:


最后的main函数里面,我对算法进行了测试,发现,快速算法确实比冒泡算法实现快多了,
之所以不设置太多的随机数排序,是因为在冒泡算法的运行效率实在是太低了,在这个算法的测试中,我的冒泡算法的时间通常达到34秒,但是快速排序却是15ms,差距很大啊。

这个测试中,如果仅仅是区别快速排序的两种实现的话,我们可以发现,快速排序的递归函数的时间消耗是小于我们自己写的不是递归的构造快速排序算法。但是在十万的数据一下,二者的时间是相同的。只是在百万的数据量下,才能显示是也是微小的时间差距。

好了,快速排序写完了

读书人网 >编程

热点推荐