数据结构——排序

排序方法适用性稳定性时间复杂度空间复杂度一次排序之后初态影响
直接插入排序适用于顺序存储、链式存储线性表不会出现相对位置变化,稳定最好:表有序,O(n)最差:表逆序,比较2+…n平均:O(n²)O(1)局部有序子序列
折半插入排序顺序表稳定最好:O(n(log2n);最差:O(n²)平均:O(n²)O(1)
希尔排序(本质是直插)适用于线性表为顺序存储不稳定N在某个特定范围:O( n 1 . 3 n^1.3 n1.3);最坏情况:O(n²)O(1)
冒泡排序顺序表链表稳定最好:O(n)初始序列有序;最坏:O(n²)初始序列逆序;比较次数:n(n-1)/2;移动次数:3n(n-1)/2;平均:O(n²)O(1)每趟排序都有一个元素在最终的位置上。产生的子序列是全局有序的
快速排序顺序表不稳定最好:O(nlog2n)最坏:O(n²);快速排序是内部排序中平均性能最优的排序算法栈深度:最好:O(log2n);最坏: O(n)平均:O(log2n)确定枢轴元素的最终位置
简单选择排序不稳定移动次数:不超过3(n-1)O(n²)
O(1)局部有序子序列
堆排序不稳定建堆O(n);好坏平均O(nlog2n)O(1)局部有序子序列
归并排序稳定O(n)
基数排序稳定R个队列:R个队头指针R个队尾指针 O(n)
多路归并排序外部排序

1.基本概念

  • 1.稳定性
  • 2.时间、空间复杂度

2.内部排序

  • 1.插入排序

    • 1.直接插入排序
    • 2.折半插入排序
    • 3.希尔排序
  • 2.交换排序

    • 1.交换排序
    • 2.快速排序
  • 3.选择排序

    • 1.简单选择排序
    • 2.堆排序
  • 4.归并排序

  • 5.基数排序

3.外部排序

  • 1.多路归并排序
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值