排序

记忆口诀:冒择入希快归堆+基

1 代码实现
2 优化思考
3 不同排序优劣选择
参考资料见下

http://blog.csdn.net/hguisu/article/details/7776068
http://blog.csdn.net/wuqilianga/article/details/52798728
快排的延伸和思考
https://news.cnblogs.com/n/501548/
https://www.baidu.com/link?url=eI41_g8Rab6fQwqsxTeEsPp4Wx59zkV3hLavJV9ZipT_tG2UhOj7hfRPzDZGxI8_ZUdW1zGFGV56nw7qRoiSymAuh7rk3fzrc5Zh_DWI06y&wd=&eqid=e82e74d7000ed1ad000000065e5fc7fc

这里写图片描述

插入示意图
这里写图片描述

希尔排序–优化的插排
这里写图片描述


选择排序
算法步骤:
1)首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置
2)再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。
3)重复第二步,直到所有元素均排序完毕。
这里写图片描述

堆排序
算法步骤:
1)创建一个堆H[0…n-1]
2)把堆首(最大值)和堆尾互换
3)把堆的尺寸缩小1,并调用shift_down(0),目的是把新的数组顶端数据调整到相应位置
4) 重复步骤2,直到堆的尺寸为1
这里写图片描述

三 交换排序
冒泡排序
这里写图片描述

快排
算法步骤:
1 从数列中挑出一个元素,称为 “基准”(pivot),
2 重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区(partition)操作。
3 递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序。
这里写图片描述

归并排序
这里写图片描述

基数排序 看引用

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值