插入排序是一种简单直观的排序算法,其基本思想是将待排序序列分为已排序部分和未排序部分,然后逐步将未排序部分的元素插入到已排序部分的适当位置,直到整个序列排序完成。
插入排序的性能相对较好,特别是对于小规模的数据集合。其时间复杂度为O(n^2),其中n是待排序序列的长度。当待排序序列已经部分有序时,插入排序的性能会更好,时间复杂度接近于O(n)。
以下是插入排序的Python实现:
def insertion_sort(arr):
n = len(arr)
for i in range(1, n)