选择排序

初级排序算法 - 图1

初级排序算法 - 图2

初级排序算法 - 图3

插入排序

初级排序算法 - 图4

初级排序算法 - 图5

比较的总次数是交换的次数加上一个额外的项:因为一路向左比,假设比它的元素有 M 个,最后还要比一次以确定第 M+1 个元素比它小。

初级排序算法 - 图6

插入排序适合部分有序数组和小规模数组。

插入排序 vs 选择排序
初级排序算法 - 图7

希尔排序

初级排序算法 - 图8

希尔排序利用了插入排序适合部分有序数组和小规模数组的特点。

初级排序算法 - 图9

初级排序算法 - 图10

初级排序算法 - 图11

初级排序算法 - 图12