2023 CSP-J1 CSP-S1 初赛 第1轮 各种排序算法的比较

1.稳定性比较

       插入排序、冒泡排序、二叉树排序、二路归并排序及其他线形排序是稳定的。

       选择排序、希尔排序、快速排序、堆排序是不稳定的。


2.时间复杂性比较

       插入排序、冒泡排序、选择排序的时间复杂性为O(n2);快速排序、堆排序、归并排序的时间复杂性为O(nlog2n);桶排序的时间复杂性为O(n);

       若从最好情况考虑,则直接插入排序和冒泡排序的时间复杂度最好,为O(n),其它算法的最好情况同平均情况相同;若从最坏情况考虑,则快速排序的时间复杂度为O(n2),直接插入排序和冒泡排序虽然平均情况相同,但系数大约增加一倍,所以运行速度将降低一半,最坏情况对直接选择排序、堆排序和归并排序影响不大。

       由此可知,在最好情况下,直接插入排序和冒泡排序最快;在平均情况下,快速排序最快;在最坏情况下,堆排序和归并排序最快。

      若从最好情况考虑,则直接插入排序和冒泡排序的时间复杂度最好,为O(n),其它算法的最好情况同平均情况相同;

       若从最坏情况考虑,则快速排序的时间复杂度为O(n2),直接插入排序和冒泡排序虽然平均情况相同,但系数大约增加一倍,所以运行速度将降低一半,最坏情况对直接选择排序、堆排序和归并排序影响不大。

       由此可知,在最好情况下,直接插入排序和冒泡排序最快;

       在平均情况下,快速排序最快;

       在最坏情况下,堆排序和归并排序最快。

–直接插入排序,最坏情况需要比较O(n^2)次(n(n - 1)/2次)(有争议)

–简单选择排序,无论是否最坏都需要O(n^2)次(n(n - 1)/2次)

–冒泡排序 需要比较O(n^2)次(n(n - 1)/2次),即序列逆序的情况

–堆排序,无论是否最坏比较O(nlog2n)次

–快速排序,最坏情况退化为冒泡排序,需要比较O(n^2)次(n(n - 1)/2次)

–2-路归并排序:比较和移动次数没有好坏之分,都是O(n*log2n);


3.辅助空间的比较

       桶排序、二路归并排序的辅助空间为O(n),快速排序的辅助空间为O(log2n),最坏情况为O(n),其它排序的辅助空间为O(1);


4.其它比较

       插入、冒泡排序的速度较慢,但参加排序的序列局部或整体有序时,这种排序能达到较快的速度。反而在这种情况下,快速排序反而慢了。

       当n较小时,对稳定性不作要求时宜用选择排序,对稳定性有要求时宜用插入或冒泡排序。

       若待排序的记录的关键字在一个明显有限范围内时,且空间允许时用桶排序。

      当n较大时,关键字元素比较随机,对稳定性没要求宜用快速排序。

       

       当n较大时,关键字元素可能出现本身是有序的,对稳定性没有要求时宜用堆排序

      快速排序是目前基于比较的内部排序中被认为是最好的方法,当待排序的关键字是随机分布时,快速排序的平均时间最短; 

       堆排序所需的辅助空间少于快速排序,并且不会出现快速排序可能出现的最坏情况。这两种排序都是不稳定的。

                                                                  ---   摘自《信息学奥赛一本通》第5版






 CSP-J1 CSP-S1 第1轮 每日一专题系列 第3节 排序算法

第3节 排序算法

CSP-J1 CSP-S1 第1轮 每日一专题系列 一、选择题 25连测

CSP-J1 CSP-S1 第1轮 每日一专题系列 一、选择题 25连测_dllglvzhenfeng的博客-CSDN博客

CSP-J1 CSP-S1 第1轮 初赛 完善程序 Josephus 问题

CSP-J1 CSP-S1 第1轮 初赛 完善程序 Josephus 问题-CSDN博客

CSP-J1 CSP-S1 第1轮 每日一专题系列 第6节 链表

第6节 链表

CSP-J1 CSP-S1 第1轮 每日一专题系列 第1节 程序基本常识

第1节 程序基本常识

信息学奥赛 链表专题

信息学奥赛 链表专题_dllglvzhenfeng的博客-CSDN博客


CSP-J1 第1轮 初赛 最后2周冲刺 查漏补缺(一)

CSP-J1 第1轮 初赛 最后2周冲刺 查漏补缺(一)_dllglvzhenfeng的博客-CSDN博客

CSP-J1 第1轮 初赛 最后2周冲刺 查漏补缺(二)

CSP-J1 第1轮 初赛 最后2周冲刺 查漏补缺(二)-CSDN博客


信奥中的数学:杨辉三角

信奥中的数学:杨辉三角-CSDN博客





NOI 大纲(2023年修订版)正式发布

NOI 大纲(2023年修订版)正式发布

2023大纲上传

2023大纲上传

全国青少年信息学奥林匹克竞赛系列活动简介

全国青少年信息学奥林匹克竞赛系列活动简介

NOI2021照片集锦

NOI2021照片集锦

NOI2022宣传片

NOI2022宣传片

NOI Linux 2.0发布,将于9月1日起正式启用!

NOI Linux 2.0发布,将于9月1日起正式启用!


暑期及9月份CSP-J1 CSP-S1初赛 培训计划及学习要点

暑期及9月份CSP-J1 CSP-S1初赛 培训计划及学习要点_csp—j一般准备多久_dllglvzhenfeng的博客-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dllglvzhenfeng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值