引言
感觉1年前写的这篇文章有些不全面,因此今天我想完善一下这篇文章。
插入排序的几大优势
毋庸置疑,Insertion Sort 与其它几个高级排序算法(quicksort, heapsort, merge sort)相比,效率要低得多。但是,它也有自己的几大优势:
- 实现简单
- 对于小数据集很有效
- 在实际应用中,它要比其它的一些 O ( n 2 ) O(n^2) O(n2) 算法(比如:bubble sort)更有效
- Adaptive - 即它可以利用有序元素的优势
- 稳定的,即相等元素的相对顺序不变
- 原址的
实现插入排序
下图是我从 wikipedia 上找到的,它很清楚地演示了插入排序的过程。
我相信大家看过上图以后,应该很清楚排序地整个过程了吧。其实它的整个排序过程像大家玩扑克抓牌的整个过