Python数据结构与算法(14)---插入排序

本文介绍了插入排序的概念和原理,通过图解详细展示了插入排序的过程,并提供了Python代码实现,帮助读者深入理解插入排序算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

头图

插入排序

插入排序,又名Insertion Sort,其原理是数列前面为排序完成的值,数列后面为未排序的值。

假设前面n-1(其中 n>=2)个数已经是排好顺序的,现将第n个数插到前面已经排好的序列中,然后找到合适自己的位置,使得插入第n个数的这个序列也是排好顺序的。

按照此法对所有元素进行插入,直到整个序列排为有序的过程,称为插入排序。

图解插入排序

原理过程如下:

  1. 输入n个数值的列表
  2. 接着,进行下标0和1的数值比较,把大的放后面,小的插入到前面,第1轮排序结束(其前2位为排序完成的数列,后面n-2个为未排序的数列)
  3. 继续选择下标为的数值和下标为1的数值进行比较,大的后移1位,小的继续比较小标0的位置,大的后移,小的插入前面。
  4. 依次类推,直到n-1下标的数值插入完成,获得最终的排序结果。

图解插入排序:

第1次循环(i=1,j=1):

循环1
第2次循环(i=2,j=2):

循环2
第3次循环(i=3,j=3):

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李元静

您的鼓励就是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值