标签:伪代码 最好 排序 元素 数据结构与算法 nbsp 时间复杂度 反向 --
插入排序
存在序列A(a1,a2,a3,a4,.....,an),n为有限值,经过插入排序后A序列:
A(b1,b2,b3,......,bn) 中任意俩个元素满足: bi <= bj 有且只有0 < i <= j <=n,反之也成立。
插入排序的伪代码实现:
for(i = 2; i < =n ; i++){
// 每次需要插入的元素
key = ai;
// 已经排序好元素的项数
j = i-1;
while j > 0 and key < aj
// 插入元素与排序好元素的每一项进行比较,若插入元素 < 排序好元素,将排序号元素的下标加1 即a(j+1) = aj
a(j+1) = aj;
j--
}
插入排序算法的时间
影响因素:项数 和 序列已经排序好程度
最好情况:序列已经排序好 ,时间复杂度 Θ(n)(n为项数)
最坏情况:序列按照反向排序好,时间复杂度 Θ(n2)(n为项数)
标签:伪代码 最好 排序 元素 数据结构与算法 nbsp 时间复杂度 反向 --
原文地址:https://www.cnblogs.com/zhang-feng/p/11949120.html