插入排序
本文参考《算法导论》,整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/
一个多月没整理了。。。说是没时间,其实就是懈怠。继续,从简单的插入排序开始。
插入排序思路很简单,原址排序,时间复杂度为,对于少量元素的排序很有效。
插入排序的工作方式就像很多人排序一手扑克牌。开始时,我们左手为空且桌子的牌面向下。然后每次从桌子上拿走一张牌并将它插入左手正确的位置。为了找到一张牌的正确的位置,我们从右到左将它与手中的每张牌进行比较。拿在左手上的牌都是排好序的。
插入排序的伪代码:
有几点注意:
- 下标 j 指出正被插入到手中的当前牌。
- A[1..j-1]构成了当前排好序的左手中的牌。
- 剩余的A[j+1..n]对应仍在桌子上的牌。