插入排序算法(Python版)

1、什么是插入排序算法

插入排序算法是一种简单直观的排序算法,它的基本思想是将一个元素逐个插入到已排序的序列中,从而构建出完整的有序序列。

插入排序算法的时间复杂度为O(n^2),其中n为待排序序列的长度。虽然插入排序在大规模数据上可能不如快速排序或归并排序等算法快速,但对于小规模或部分有序的数据,插入排序具有稳定性和简单性的优势。

2、具体步骤

  1. 从第二个元素开始,将当前元素视为已排序部分,将它与已排序的部分依次比较。
  2. 如果当前元素小于已排序部分的某个元素,则将这个元素后移一位,为当前元素腾出插入的位置。
  3. 将当前元素插入到正确的位置,使得插入后的序列仍然保持有序。
  4. 重复以上步骤,直到所有元素都被插入到正确的位置,完成排序。

3、代码示例

python 复制代码
def insertion_sort(arr):
    n = len(arr)
    for i in range(1, n):
        key = arr[i]
        j = i - 1
        while j >= 0 and key < arr[j]:
            arr[j + 1] = arr[j]
            j -= 1
        arr[j + 1] = key

# 示例用法
arr = [12, 11, 13, 5, 6]
insertion_sort(arr)
print("排序后的数组:", arr)

这段代码定义了一个名为insertion_sort的函数,用于对输入的数组进行插入排序。排序过程中,从第二个元素开始(索引为1),将当前元素与已排序的部分进行比较并插入正确的位置,直到整个数组排序完成。

相关推荐
啊嘞嘞?17 分钟前
力扣(LRU缓存)
算法·leetcode
珂朵莉MM20 分钟前
2026国信杯具身智能创新大赛-编程技能赛--本科组国赛解题报告 | 珂学家
算法·深度优先·图论
啊嘞嘞?20 分钟前
力扣(下一个排列)
算法·leetcode
2601_9669496531 分钟前
Python 量化数据质量校验:如何确保股票历史日线数据不存在缺失交易日?
开发语言·人工智能·爬虫·python·量化策略·量化·quantdash
circuitsosk33 分钟前
Python 文件读写与上下文管理器:with 语句为什么是最佳选择
java·服务器·python·文件操作·上下文管理器·contextlib
whcyhhh37 分钟前
头歌实践教学平台:数据科学与大数据技术导论(七下)
大数据·数据库·python
Java后端的Ai之路1 小时前
05、Python单例模式完全指南
开发语言·人工智能·python·单例模式·oracle
李可以量化1 小时前
Redis Client 从入门到精通(一)下:redis-py 核心数据结构操作与连接管理
数据结构·redis·python·bootstrap·量化交易·qmt
川石课堂软件测试1 小时前
自动化测试常见的异常处理
python·jmeter·mysql·docker·容器·单元测试·grafana
荣码1 小时前
Function Calling:比Agent更靠谱的工具调用,我踩了4个坑
java·python