数据结构--排序

将无序的序列变成一个有序的序列

一、插入排序

边插入边排序,保证随时都是有序的

1.直接插入排序

复制(为哨兵)插入的元素,记录后移,查找插入位置,插入正确位置
在这里插入图片描述

2.二分插入排序

将目标值放在哨兵位置,利用折半的思想,来寻找插入的位置
在这里插入图片描述
在这里插入图片描述

3.希尔插入排序

将整个待排记录序列分成若干个子序列,再进行直接插入排序
在这里插入图片描述
分成不同的间隔,将颜色相同的序列进行一组排序,一次排序移动位置较大,跳跃式地接近排序的最终位置,最后一次只需少量移动,增量序列必须是递减的,最后一个必须是1,增量序列必须是互质的。
在这里插入图片描述

二、交换排序

1.冒泡排序

过程(像是水中重的物质沉底,轻的物质上浮):
在这里插入图片描述
算法,设置一个flag为标志:

在这里插入图片描述

2.快速排序

利用递归的思想,找一个中心点为参考,比它小的,放在前面,比它大的放在后面,一直进行同一个操作。将空的位置补充比它小的元素,有点拆西墙补东墙的感觉。不稳定的排序

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

三、选择排序

1.简单选择

原理:每一次比较取最小值,与当前位置的值进行 互换,
比如说,第一次,08是最小的,然后08和21的位置互换
然后从第二个位置,发现16是最小的那么16和25进行互换
以此类推
在这里插入图片描述
在这里插入图片描述

2.堆排序

在这里插入图片描述
就是一个二叉树按照大小进行的,对堆按照大小进行调整和建立。
在这里插入图片描述

四、归并排序

将两个相邻的子序列归并为一个序列
在这里插入图片描述

五、基数排序

分配+收集
将其化成几个箱子,按照个位百位十位这样分
在这里插入图片描述

六、各种方式的比较

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值