初级排序算法

145 阅读1分钟

讲解

选择排序

核心思想

每一次,从待排序的序列中找出最值,排在待排序序列的首部或尾部,成为确定顺序的数。

image.png

1635376215(1).png

冒泡排序

核心思想

将N个数字按轮进行相邻元素比较和换位,每一轮将确定一个最值,沉底(浮起)。因此,共需要N-1轮,每一轮都比前一轮少比较一次。

image.png

image.png

插入排序

核心思想

假定有个数组最左侧一部分有序,其他部分无须(最差情况为无序,可认为首位即有序部分),从有序部分的后一位与前面的每一位比较替换,使得该位插入到有序部分中。

image.png

希尔排序

编程五大常用算法

  1. 分治
  2. 贪心
  3. 回溯
  4. 分支定界
  5. 动态规划