排序算法学习笔记整理
1、冒泡排序:依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部(或者后部)

2、选择排序:以首元素开始为要交换的元素,循环找到未排序的元素中最小的元素与要交换的元素进行交换。要交换元素为未排序元素的第一个,每次加一。

主要代码:

3、插入排序:把待排序的元素看成 以第一个元素看成一个无序表 ,其他元素看成是无需表的情况下。在无序表中遍历每一个元素,把遍历的这个元素放到有序表的正确位置。

主要代码:

4、希尔排序:对要排序的数组进行增量分组,再对每组进行排序(直接插入排序算法排序)。直到增量减少到1,时候整整组排序完成。

主要代码:
方法一:逐步推到

方法二:移位法(对方法一优化)

5、归并排序:采用分治策略。将元素拆分至单一,再进行排序,然后合并(按照排序顺序合并)。

合的过程:


主要代码:

6、基数排序(桶排序):类似于散列表。将所有待比较数值统一为同样的数位长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后, 数列就变成一个有序序列。


主要代码:

排序对比:


浙公网安备 33010602011771号