1 插入排序
原理:从第二个元素开始,依次与前面的元素进行比较,如果第二个元素比前面的元素大,就不动,如果第二个元素比第一个元素小,就把第二个元素插入到第一个元素前面。依次从第二个元素一直到最后一个元素,进行同样的操作。
从原理上说,插入排序的速度受数列本身顺序影响大,如果数列本身已经排好序或者基本完成排序,则运行时间为O(n),如果数列初始化为反序,此时运行时间为O(n^2)。
算法实现如下:
def insertion_sort(A)
i = 1
for i in range(len(A)) :
j=i
cur=A[j]
while j>0 and cur<A[j-1]:
A[j]=A[j-1]
A[j-1]=cur
j-=1
2 未完待续