记忆口诀:冒择入希快归堆+基
1 代码实现
2 优化思考
3 不同排序优劣选择
参考资料见下
http://blog.youkuaiyun.com/hguisu/article/details/7776068
http://blog.youkuaiyun.com/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)把小于基准值元素的子数列和大于基准值元素的子数列排序。
归并排序
基数排序 看引用