算法步骤
将待排序序列第一个元素看做一个有序序列,
把第二个元素到最后一个元素当成是未排序序列。
从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当位置;
如果待插入的元素与有序序列中的某个元素相等,
则将待插入元素插入到相等元素的后面。时间复杂度n^2
def insert_sort2(sample: list):
for i in range(1, len(sample)):
key = sample[i]
j = i - 1
while j >= 0:
if sample[j] > key:
sample[j + 1] = sample[j]
sample[j] = key
j -= 1
else:
break
return sample
参考:https://www.cnblogs.com/kaibindirver/p/12093823.html
本文详细介绍了插入排序的工作原理,包括其基本步骤和时间复杂度。通过一个具体的Python实现展示了如何使用插入排序对列表进行排序,代码中包含了对相等元素的处理。插入排序在最坏情况下的时间复杂度为O(n^2)。
--插入排序&spm=1001.2101.3001.5002&articleId=110373602&d=1&t=3&u=9294a2509430455da370537d9b1ba419)
1917

被折叠的 条评论
为什么被折叠?



