当前位置: 首页 > news >正文

网站报价书公司网站推广

网站报价书,公司网站推广,更换网站需要怎么做,公司网站打不开不知道谁做的插入排序(Insertion Sort) 插入排序是一种简单的排序算法。它的基本思想是:将数组分为已排序部分和未排序部分,然后逐个将未排序部分的元素插入到已排序部分的正确位置。插入排序类似于整理扑克牌的过程。 插入排序的步骤&#…

插入排序(Insertion Sort)

插入排序是一种简单的排序算法。它的基本思想是:将数组分为已排序部分和未排序部分,然后逐个将未排序部分的元素插入到已排序部分的正确位置。插入排序类似于整理扑克牌的过程。

插入排序的步骤:
  1. 初始化:将第一个元素视为已排序部分。
  2. 插入元素:从未排序部分取出一个元素,将其插入到已排序部分的正确位置。
  3. 重复过程:重复上述步骤,直到所有元素都被排序。
时间复杂度:
  • 最坏情况:O(n²) —— 当数组是逆序的时候。
  • 最好情况:O(n) —— 当数组已经有序的时候。
  • 平均情况:O(n²)
空间复杂度:
  • O(1) —— 插入排序是一种原地排序算法,不需要额外的存储空间。

Python 实现

def insertion_sort(arr):n = len(arr)for i in range(1, n):key = arr[i]  # 当前需要插入的元素j = i - 1# 将比 key 大的元素向后移动while j >= 0 and arr[j] > key:arr[j + 1] = arr[j]j -= 1# 将 key 插入到正确位置arr[j + 1] = keyreturn arr# 示例使用
arr = [12, 11, 13, 5, 6]
sorted_arr = insertion_sort(arr)
print("排序后的数组:", sorted_arr)

输出结果

排序后的数组: [5, 6, 11, 12, 13]

插入排序的详细过程

以数组 [12, 11, 13, 5, 6] 为例:

  1. 第一轮

    • 已排序部分:[12]
    • 未排序部分:[11, 13, 5, 6]
    • 11 插入到已排序部分,数组变为 [11, 12, 13, 5, 6]
  2. 第二轮

    • 已排序部分:[11, 12]
    • 未排序部分:[13, 5, 6]
    • 13 插入到已排序部分,数组变为 [11, 12, 13, 5, 6]
  3. 第三轮

    • 已排序部分:[11, 12, 13]
    • 未排序部分:[5, 6]
    • 5 插入到已排序部分,数组变为 [5, 11, 12, 13, 6]
  4. 第四轮

    • 已排序部分:[5, 11, 12, 13]
    • 未排序部分:[6]
    • 6 插入到已排序部分,数组变为 [5, 6, 11, 12, 13]
  5. 排序完成


插入排序的优缺点

优点

  • 实现简单,易于理解。
  • 对于小规模数据或基本有序的数据,效率较高。
  • 是稳定的排序算法(相同元素的相对位置不变)。

缺点

  • 时间复杂度较高,不适合处理大规模数据。
  • 对于逆序数据,性能较差。

插入排序的适用场景

  • 数据规模较小。
  • 数据基本有序。
  • 需要稳定排序的场景。
http://www.tj-hxxt.cn/news/102240.html

相关文章:

  • 网站被降权会发生什么扬州网站seo
  • 成都网站建设四易维达打开浏览器直接进入网站
  • 提供网站制作百度一下进入首页
  • 南昌网站seo外包自动推广软件免费
  • 用网站做宣传的费用网络营销有哪些内容
  • 网站开发与服务合同范本广州百度竞价外包
  • 个人可以做导航网站吗国外域名注册
  • 环球网今日疫情消息镇江网站关键字优化
  • 网站建设过程中应该注意的事项有想建立自己的网站怎么建立
  • 苏州运营推广网站建设二十条优化措施全文
  • 大冶seo网站优化排名推荐微软优化大师
  • ppt设计怎么赚钱太原自动seo
  • 做网站香港行不行毕节地seo
  • dw做的网站如何让文字换行百度图像搜索
  • 美国中国日本韩国重庆网站seo推广公司
  • 电商网站开发需要掌握哪些知识技能专业地推团队
  • 龙湾网站建设热搜榜排名前十
  • 商贸网站建设中国十大小说网站排名
  • 海口网站建设在线广东seo推广哪里好
  • 专业制作网站电脑官方正版清理优化工具
  • wordpress css字体seo关键词排名软件流量词
  • 上海门户网站建设百度提交网址
  • ui培训基地seo是什么意思怎么解决
  • 做网站需要写程序如何做推广
  • 贵阳市网站建设公司百度竞价查询
  • 网站建设方案之目标游戏推广代理
  • 深圳专业做网站公司百度指数是搜索量吗
  • 徐州企业网站建设公司培训学校加盟费用
  • 广州设计公司网站外贸网站建设流程
  • 医药网站如何做网络推广天津关键词排名推广