插入排序
1、直接插入排序 时间复杂度O(N²) 稳定排序。 当排序的记录个数较少且待排序序列的关键字基本有序时下效率较高。适用于顺序、链式存储结构。
2、折半插入排序 时间复杂度O(N²) 稳定排序 只能用于顺序结构不能用于链式结构。
3、希尔排序 时间复杂度 n的1.2次幂 不稳定排序 只适用于顺序结构;初始记录无序、n较大情况。
直接插入排序 :
折半插入排序:
折半查找
希尔排序:
第一种讲解:
第二种讲解 :
交换排序
冒泡排序 时间复杂度O(N²) 稳定排序 可适用于链式存储结构、移动次数较多、当初始记录无需n较大时不宜使用。
快速排序 时间复杂度:O(nlog2n). 不稳定排序、适用于顺序表、当n较大初始记录无序比较适用。
选择排序 时间复杂度:O(N²) 不稳定排序 可用于链式存储、移动记录次数较少,当每一个记录占用空间较多时此方法比直接插入排序快。