插入排序(Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。
插入排序是一种简单直观的排序算法,其基本操作是将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增1的有序表。
插入排序通常有两种实现方式:
插入排序适用于小规模数据的排序,或者在数据部分有序的情况下进行排序。例如,在处理身份证号、电话号码等固定格式的数据时,插入排序可以发挥较好的效果。
def insertion_sort(arr):
for i in range(1, len(arr)):
key = arr[i]
j = i - 1
while j >= 0 and arr[j] > key:
arr[j + 1] = arr[j]
j -= 1
arr[j + 1] = key
return arr
# 示例
arr = [12, 11, 13, 5, 6]
sorted_arr = insertion_sort(arr)
print("排序后的数组:", sorted_arr)
通过以上介绍,希望你对插入排序有了更全面的了解。如果还有其他问题,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云