首页 > 编程知识 正文

快速排序的时间复杂度是多少(常见排序算法的时间复杂度)

时间:2023-05-04 14:10:49 阅读:100004 作者:4379

大排序有两种:内部排序和外部排序。在排序过程中,如果所有记录都存储在内存中,称为内部排序,如果排序过程中需要外部存储,称为外部排序。

一、内排序有可以分为以下几类

(1),插入排序:直接插入排序、二分法插入排序和Hill排序。(2)选择排序:简单选择排序和堆排序。(3)交换排序:冒泡排序和快速排序。(4)、合并排序(5)、基数排序

二、时间复杂度分析

二进制插入排序类似于直接插入排序。忽略系数,最坏的情况是O (n 2)。

三、排序算法的选择

1.数据规模小。

(1)在需要排序的列基本顺序的情况下,可以选择直接插入排序;

(2)如果对稳定性没有要求,建议简单选择排序;如果对稳定性有要求,建议插入或起泡。

2.数据规模不是很大。

(1)内存空间完全可以使用,顺序无序,对稳定性没有要求,排序快,所以此时需要log(N)的额外空间。

(2)序列本身可能是有序的,需要稳定性。如果空间允许,应该使用合并排序。

3.数据规模非常大

(1)如果想要稳定,可以考虑合并排序。

(2)对稳定性没有要求,堆排序比较合适。

4.初始序列基本有序(正序列)

建议使用直接插入和鼓泡。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。