解析:
插入排序(Insertion Sort)的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。
算法执行步骤:
1 从第一个元素开始,该元素可以认为已经被排序
2 取出下一个元素,在已经排序的元素序列中从后向前扫描
3 如果被扫描的元素(已排序)大于新元素,则将被扫描元素后移一位
4 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置
5 将新元素插入到该位置后
6 重复步骤2~5
Python实现
def insert_sort(ary):
n = len(ary)
for i in range(1,n):
if ary[i] < ary[i-1]:
temp = ary[i]
#待插入的下标
index = i
#从i-1 循环到 0 (包括0)
for j in range(i-1,-1,-1):
if ary[j] > temp :
ary[j+1] = ary[j]
#记录待插入下标
index = j
else :
break
ary[index] = temp
return ary
想从传统IT行业转行AI?
担心转行失败?
再也不用怕了!