您的位置:首页 > 其它

插入排序

2015-10-03 17:27 267 查看

【0】README

0.1)插入排序由 N-1 趟排序组成,对于P=1趟 到P=N-1趟, 插入排序保证从位置0到位置P 上的元素为已排序状态;

0.2)插入排序利用了这样的事实:位置0 到位置P-1 上的元素已经排过序了;

【1】一般的插入排序的过程如下图所示:



1.1) p等于多少,序列前的多少个元素就保持有序状态;

1.2) 插入排序源代码参见 https://github.com/pacosonTang/dataStructure-algorithmAnalysis/blob/master/chapter7/p166.c, 打印结果如下:



1.3)复杂度分析

1.3.1)最好情况:也即数组预先就有序了: 显然是O(N)

1.3.2)最差情况:数组预先逆序排列(如结果是升序而预先是降序),T(N) = O(N^2)

Attention): 我们的快速排序也用到了插入排序,以解决 待排序数组是小数组(N <= 20)的问题;通常对于小数组不递归的使用快速排序, 而代之以诸如 插入排序这样的对小数组有效的排序算法;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: