一、简介
插入排序,也叫直接插入排序。对于少量元素的排序,它是一个有效的算法 ,而且是稳定
的。
二、基本思想
插入排序的基本思想是 将一个记录插入到已经排好序的有序表中,从而一个新的、记录数增
1的有序表 。在其实现过程使用双层循环,外层循环对除了第一个元素之外的所有元素,内层循环
对当前元素前面有序表进行待插入位置查找,并进行移动 。
简单来说就是 第一次将左端的数字排序,再往后依次对尚未操作的数组元素跟已操作的进行
比较,按大小顺序放入数组,最后即可排序成功。
三、图解及演示
上图解析:第一次将左端的数字排序,再往后依次对尚未操作的数组元素跟已操作的进行比较,按大小顺序放入数组,最后即可排序成功。
四、时间复杂度及空间复杂度
插入排序(直接插入)的平均时间复杂度是 O(n²) ,空间复杂度是 O(1) 。
最好的时间复杂度是 O(n) ,最坏是 O(n²) .
(希尔排序也是一种插入排序,但平均时间复杂度是 O(n的1.3次方) )