第八章 排序 各种排序算法的比较

发布时间:2023年12月19日

各种排序算法的比较

时间复杂度

平均????????????????????????????????最好????????????????????最坏????????????????????辅助空间

直接插入排序 : ???? O ( n 2 ) O(n^2) O(n2) ??????????????????????? O ( n ) O(n) O(n) ???????? ???? O ( n 2 ) O(n^2) O(n2) ????????????? ?????? O ( 1 ) O(1) O(1)

希尔排序 : O ( n l o g 2 n ) ~ O ( n 2 ) O(nlog_2n)\sim O(n^2) O(nlog2?n)O(n2) O ( n 1.3 ) O(n^{1.3}) O(n1.3) O ( n 2 ) O(n^2) O(n2) O ( 1 ) O(1) O(1)

冒泡排序: O ( n 2 ) O(n^2) O(n2) O ( n ) O(n) O(n) O ( n 2 ) O(n^2) O(n2) ???????????? ? ?? ?? O ( 1 ) O(1) O(1)

快速排序:????????? ??? O ( n l o g 2 n ) O(nlog_2n) O(nlog2?n) ????????????????? O ( n l o g 2 n ) O(nlog_2n) O(nlog2?n) ??????? O ( n 2 ) O(n^2) O(n2) ? O ( n l o g 2 n ) ~ O ( n ) O(nlog_2n)\sim O(n) O(nlog2?n)O(n)

简单选择排序: O ( n 2 ) O(n^2) O(n2) ??????????????????????????? O ( n 2 ) O(n^2) O(n2) ??????????? ? O ( n 2 ) O(n^2) O(n2) ???????????? ?? ?? O ( 1 ) O(1) O(1)

堆排序:???????????????? O ( n l o g 2 n ) O(nlog_2n) O(nlog2?n) ????????????????? O ( n l o g 2 n ) O(nlog_2n) O(nlog2?n) ???????? O ( n l o g 2 n ) O(nlog_2n) O(nlog2?n) ??????? ? O ( 1 ) O(1) O(1)

归并排序: ??????????? O ( n l o g 2 n ) O(nlog_2n) O(nlog2?n) ????????????????? O ( n l o g 2 n ) O(nlog_2n) O(nlog2?n) ???????? O ( n l o g 2 n ) O(nlog_2n) O(nlog2?n) ???? ???? O ( n ) O(n) O(n)

分类讨论算法

从平均情况来看 ,
 直接插入排序, 简单选择排序, 冒泡排序 : O(n^2)
 堆排序, 快速排序, 堆排序 : O(nlogn)
 希尔排序 : O(nlogn) ~ O(n^2)
从空间复杂度看 :
    归并排序 : O(n)
    快速排序 : O(nlogn) ~ O(n)
    其余 : O(1)
从稳定性看 :
    稳定的 : 直接插入排序, 冒泡排序, 归并排序
    不稳定的 : 快速排序, 简单选择排序, 希尔排序, 堆排序

性质

在一趟排序结束后 , 就选出一个元素在其最终位置上的排序算法 ?

可以的 : 简单选择排序 , 快速排序 , 冒泡排序 , 堆排序

不可以的 : 插入排序 , 希尔排序 , 二路归并排序

文章来源:https://blog.csdn.net/2301_78527293/article/details/135059752
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。