- 堆排序:先建立大堆,然后摘除最大的,再排序,再摘除现在最大的,循环完成排序;最后输入有序数组
- 快速排序:递归排序,选出一个数,然后把小的放一边,大的放一边,然后再递归。
- 插入排序:分成两个组,一个组是排序好的(开始只有一个),一组是未排序好的,然后在排序好的组里,一个一个的插入未排序好的。
- 希尔排序:希尔排序,通过增量(gap)将元素两两分组,对每组使用直接插入排序算法排序;增量(gap)逐渐减少,当增量(gap)减至1时,整个数据恰被分成一组,最后进行一次插入排序,整个数组就有序了。
- 冒泡排序:每次浮起一个未有序序列的最大的数。
- 选择排序:分成两个组(有序和无序组),每次选出一个无序组里面的一个最小的,排到有续组的最后。
- 归并排序:递归排序,先分成n/2组,然后n/4组,然后n/8组,最后归并,排好序的归并。
- 计数排序:分配一个数组(可以容纳所有排序数据),直接通过算法放入数组中,位置(n - min)
- 桶排序:通过hash将数据放入hash桶中,然后排序,速度比较快。
- 基数排序:将数据规整化为相同位数(不足的补零),从最低位开始排序,最后排成有序序列。
常见的排序算法
最新推荐文章于 2024-08-19 15:21:18 发布