数据结构与算法基础(八)排序

数据结构与算法基础(八)排序

在这里插入图片描述
在这里插入图片描述


一、排序的基本概念

1.1 概述

在这里插入图片描述
在这里插入图片描述

1.2 排序方法分类

在这里插入图片描述

存储介质

在这里插入图片描述

比较器

在这里插入图片描述

主要操作

在这里插入图片描述

辅助空间

在这里插入图片描述

稳定性

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

自然性

在这里插入图片描述
在这里插入图片描述

1.3 存储结构:顺序表

在这里插入图片描述

二、插入排序

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.1 直接插入排序

采用顺序查找
在这里插入图片描述

2.1.1 算法

在这里插入图片描述
i: 要插入位置的下标
j:有序的最后一个
在这里插入图片描述

2.1.2 性能

最好

在这里插入图片描述

最坏

在这里插入图片描述

平均

在这里插入图片描述

时间复杂结论

在这里插入图片描述
在这里插入图片描述

2.2 折半插入排序

在这里插入图片描述

2.2.1 算法

在这里插入图片描述

2.2.2 分析

比较次数
在这里插入图片描述
移动次数
在这里插入图片描述
在这里插入图片描述

2.3 希尔排序

2.3.1 思想 特点

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3.2 算法

在这里插入图片描述
在这里插入图片描述

2.3.3 分析

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、交换排序

在这里插入图片描述

3.1 冒泡排序

思想

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

算法

在这里插入图片描述
在这里插入图片描述

改进

在这里插入图片描述

效率

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2 快速排序

思想

在这里插入图片描述
递归
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
缺点:太占用空间
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

0号元素存界点
low 指向第一个元素
high 指向最后一个元素
此时high和界点比较,high<49 往前搬
high–
空出来的位置low 从前面找大的
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

算法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

分析

在这里插入图片描述
递归:栈 的支 持
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、选择排序

4.1 简单选择排序

基本思想

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

算法

在这里插入图片描述

分析

空间复杂度:需要一个空间O(1)
在这里插入图片描述
在这里插入图片描述

4.2 堆排序

4.2.1 判断、调整堆

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.2.2 堆的筛选算法

在这里插入图片描述
在这里插入图片描述

4.2.3 堆的建立

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
最后一个非叶子结点:n/2开始向前调整
在这里插入图片描述

4.2.4 算法及分析

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、归并排序

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
即树的高度
在这里插入图片描述
在这里插入图片描述

5.1 分析

在这里插入图片描述
在这里插入图片描述

六、基数排序

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
k有几个关键字
n分配(扔出去的)
m收集(收回来的)
在这里插入图片描述
在这里插入图片描述

各种排序

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值