小编给大家分享一下Java中排序算法有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
冒泡排序(Bubble Sort)
选择排序(Selection Sort)
插入排序(Insertion Sort)
希尔排序(Shell Sort)
改进插入排序
“缩小增量排序”或者“递减增量排序”
算法分析
归并排序(Merge Sort)
快速排序(Quick Sort)
选择中间数,把大雨的丢右边,小于的丢左边
算法分析
最佳情况:T(n) = O(nlogn)
最差情况:T(n) = O(n2)
平均情况:T(n) = O(nlogn)
堆排序(Heap Sort)
算法分析
最佳情况:T(n) = O(nlogn)
最差情况:T(n) = O(nlogn)
平均情况:T(n) = O(nlogn)
计数排序(Counting Sort)
有确定范围的数
申请最大数长度的数组
算法分析
计数排序不是比较排序,排序的速度快于任何比较排序算法。
由于用来计数的数组C的长度取决于待排序数组中数据的范围
这使得计数排序对于数据范围很大的数组,需要大量时间和内存。
等于待排序数组的最大值与最小值的差加上1
当输入的元素是n 个0到k之间的整数时,它的运行时间是 O(n + k)。
最佳情况:T(n) = O(n+k)
最差情况:T(n) = O(n+k)
平均情况:T(n) = O(n+k)
桶排序(Bucket Sort)
桶排序是计数排序的升级版。
桶排序最好情况下使用线性时间O(n),
最佳情况:T(n) = O(n+k)
平均情况:T(n) = O(n+k)
最差情况:T(n) = O(n2)
基数排序(Radix Sort)
以上是“Java中排序算法有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注天达云行业资讯频道!