数据结构与算法_排序_插入排序
选择未排序中的一个元素插入到已排序中正确的位置
def insertion_sort(arr):
for i in range(1, len(arr)):
key = arr[i]
j = i - 1
while j >= 0 and key < arr[j]:
arr[j+1] = arr[j]
j -= 1
arr[j+1] = key
return arr
insertion_sort([5, 2, 3, 1, 4])
时间复杂度O(n^2)
空间复杂度O(1)
自适应排序
原地排序
稳定排序