直接插入排序
- 时间复杂度 最好O(n) 最坏O(n^2)
- 空间复杂度 O(1)
- 简单排序
- 排序次数 n*(n-1)/2
代码
# 直接插入排序 Insert_Sort
# 时间复杂度: 最好 O(n) 最坏 O(n^2)
# 空间复杂度: O(1)
# 算法不稳定
# 比较次数: n*(n-1)/2
def Insert_Sort(arr):
for i in range(1, len(arr)):
tmp = arr[i]
no = i - 1
while no >= 0 and tmp <= arr[no]:
arr[no + 1] = arr[no]
no -= 1
arr[no + 1] = tmp
print(arr)
if __name__ == '__main__':
array = [16, 25, 39, 27, 12, 8, 45, 63]
Insert_Sort(array)
3795

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



