一文看懂十大排序

249 阅读1分钟

1、冒泡排序

一路遍历下去,遇到小的放左边,然后自身移到右边,一直向右移动

2、快速排序

利用分治和递归思想,先拆分,选出pivot,一左一右,然后递归排序,最后合并

3、插入排序

逐渐按照顺序排序,然后选择需要插入的数,将其插入到前面排序的列表当中

4、希尔排序

希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。但希尔排序是非稳定排序算法。

希尔排序是基于插入排序的以下两点性质而提出改进方法的:

  • 插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率;

  • 但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位,希尔排序每次都是gap/2;

5、选择排序

其实用到了“挡板法”的经典思想,已经排序的挡在一边,没排序的挡在一边

动画如下

6、并归排序

分治法,分治然后合

动图如下

7、桶排序

指定范围,设置区间,然后将数扔到对应的区间桶当中

8、堆排序

9、计数排序

10、基数排序

参考:

visualgo.net/en/sorting

www.cnblogs.com/fivestudy/p…