📅  最后修改于: 2023-12-03 15:39:51.712000             🧑  作者: Mango
插入排序和选择排序是两种简单的排序算法,它们有许多相似之处,但也有一些重要的区别。
插入排序和选择排序的实现方式也有一些不同。
def insertion_sort(arr):
for i in range(1, len(arr)):
j = i - 1
key = arr[i]
while j >= 0 and arr[j] > key:
arr[j+1] = arr[j]
j -= 1
arr[j+1] = key
return arr
def selection_sort(arr):
for i in range(len(arr) - 1):
min_index = i
for j in range(i+1, len(arr)):
if arr[j] < arr[min_index]:
min_index = j
arr[min_index], arr[i] = arr[i], arr[min_index]
return arr
因为插入排序的时间复杂度比选择排序低,而且插入排序是一种稳定的排序算法,所以插入排序的使用场景比选择排序更广泛。但对于小规模数据的排序,选择排序确实比插入排序快一些。