【数据结构】对排序的综合总结

本文概述了排序算法的主要类别,如插入、交换、选择和外部排序,重点介绍了各算法的时间复杂度、空间复杂度、稳定性及对不同数据状态的适应性。了解快速排序、希尔排序和堆排序的高效特性,以及直接插入和冒泡排序在特定场景的应用。
摘要由CSDN通过智能技术生成

排序可以分为以下几个大类:
(1)插入排序:直接插入排序、折半插入排序和希尔排序
(2)交换排序:快速排序和冒泡排序
(3)选择排序:简单选择排序和堆排序
(4)外部排序:归并排序和基数排序

针对内部排序的效率总结:
(1)时间复杂度为 O(nlogn) 的有:希尔排序、快速排序和堆排序
(2)空间复杂度不为 O(1) 的有:快速排序,采用递归需要用到栈,所以 O(logn) ~ O(n)
(3)对于稳定性来说,只有三种排序是稳定的:插入排序的前两种和冒泡排序
(4)对于全局有序来说:选择排序和交换排序

对于数据初始状态总结:
(1)对于少量数据的排序 —— 直接插入和选择排序
(2)数据基本有序的情况 —— 直接插入、折半插入和冒泡排序(正序)
(3)中等规模的数据,最差和平均差不多 —— 希尔排序
(4)适用于数据规模较大的 —— 堆排序、归并排序、基数排序、快速排序
(5)数据规模较大,数据分布随机 —— 快速排序

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

_之桐_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值