插入排序

本文参考《算法导论》,整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/热烈的笑脸

一个多月没整理了。。。说是没时间,其实就是懈怠。继续,从简单的插入排序开始。

插入排序思路很简单,原址排序,时间复杂度为CodeCogsEqn,对于少量元素的排序很有效。

插入排序的工作方式就像很多人排序一手扑克牌。开始时,我们左手为空且桌子的牌面向下。然后每次从桌子上拿走一张牌并将它插入左手正确的位置。为了找到一张牌的正确的位置,我们从右到左将它与手中的每张牌进行比较。拿在左手上的牌都是排好序的。

插入排序的伪代码:

image

有几点注意:

  • 下标 j 指出正被插入到手中的当前牌。
  • A[1..j-1]构成了当前排好序的左手中的牌。
  • 剩余的A[j+1..n]对应仍在桌子上的牌。
原文地址:https://www.cnblogs.com/hust-ghtao/p/4367374.html