几种常见排序算法

Posted Zongrongna

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了几种常见排序算法相关的知识,希望对你有一定的参考价值。

            JAVA当中有以下几种常见排序算法:插入排序(直接插入排序、链表插入排序分段/二分/折半插入排序、希尔排序/缩小增量排序)、冒泡排序、快速排序、简单选择排序、归并排序、二叉树排序、基数排序等

1)复杂度比较

表1 几种常见排序算法的复杂度

算法名称

平均情况

最好情况

最坏情况

辅助空间

直接插入排序

O(n^2)

O(n)

O(n^2)

O(1)

希尔排序

O(nlog2n)~      o(n^2)

O(n^1.3)

O(n^2)

O(1)

冒泡排序

O(n^2)

O(n)

O(n^2)

O(1)

快速排序

O(nlog2n)

O(nlog2n)

O(n^2)

O(n)

简单选择排序

O(n^2)

O(n^2)

O(n^2)

O(1)

堆排序

O(nlog2n)

O(nlog2n)

O(nlog2n)

O(1)

归并排序

O(nlog2n)

O(nlog2n)

O(nlog2n)

O(n)

以上是关于几种常见排序算法的主要内容,如果未能解决你的问题,请参考以下文章

几种常见的排序算法分析学习

php几种常见排序算法

java几种常见的排序算法总结

PHP常见的几种排序算法

几种比较常见的算法排序

知了堂学习笔记java 编写几种常见排序算法3