📅  最后修改于: 2023-12-03 15:27:25.983000             🧑  作者: Mango
插入排序(Insertion Sort)是一种简单直观的排序算法。它的基本思想是,将待排序的元素分成已排序和未排序两个部分,每次从未排序部分取出一个元素,插入到已排序部分的合适位置,直至未排序部分为空。
插入排序的算法步骤如下:
以下是使用 Python 实现插入排序的示例代码:
def insert_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
其中,insert_sort()
函数接受一个待排序的列表作为参数,返回排序后的列表。
插入排序的时间复杂度是 $O(n^2)$,其中 $n$ 是待排序元素的个数。虽然插入排序的时间复杂度比一些高级排序算法要高,但实际应用中插入排序仍然很常用,因为插入排序在处理小规模数据时具有优势,并且实现起来非常简单。