排序算法学习笔记整理

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

  

 

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

 

 

   主要代码:

 

 

 

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

 

   主要代码:

 

 

 

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

 

 

   主要代码:

  方法一:逐步推到

 

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

 

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

  合的过程:

 

 

 

 

  主要代码:

 

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

 

 

 

 

   主要代码:

 

 

 

排序对比:

 

posted @ 2020-08-18 17:37  太甜和辣不好吃  阅读(90)  评论(0)    收藏  举报