大学里学了很多中开发的语言,其中java是我当时认为最难学的。学的时候很是费力的,现在工作之后才发觉原来语言是相同的,比不存在难易。在明思联科的岁月里慢慢的认识了这一点。
java常用排序算法的实例包括了冒泡、选择、插入、快速排序算法,我们可以比较几种算法的性能优劣,同时也注意递归处理对于线程栈空间的消耗。
Java中排序算法有以下几种:
1、插入排序(直接插入排序、折半插入排序、希尔排序);
2、交换排序(冒泡泡排序、快速排序);
3、选择排序(直接选择排序、堆排序);
4、归并排序;
5、基数排序。
关于排序方法的选择:
(1)如果n较小(如n≤50),可采用直接插入或直接选择排序。
当记录规模较小时,直接插入排序较好;否则因为直接选择移动的记录数少于直接插人,应选直接选择排序为宜。
(2)如果文件初始状态基本有序(指正序),则应选用直接插人、冒泡或随机的快速排序为宜;
(3)如果n较大,则应采用时间复杂度为O(nlgn)的排序方法:快速排序、堆排序或归并排序。