下面来谈论一下插入排序。
顾名思义,这个一看就是通过插入数字来完成排序的算法啦;废话不多说,下面是实现代码:
1、插入排序:当插入第i(i≥1)个对象时,前面的数据已经保证都已经排好序了,这个时候把通过把a[i]与前面的a[i - 1], a[i - 2]...比较,然后将a[i]插入到一个正确的位置。原来位置上的数据挨个后移。这样就实现了插入排序。
2、插入排序也是一种比较排序的算法。
3、插入排序是一种稳定的排序算法。
4、插入排序最好的情况是一开始就已经是正确的顺序,那么只需要进行n-1次比较,移动次数为0次,其时间复杂度为O(n);
最坏的情况是反序,这样就需要n(n - 1) / 2次比较,以及n(n - 1) / 2次比较,时间复杂度为O(n ^ 2)。