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

插入排序--自学笔记

插入排序

学习目标:

1.插入排序的思想

2.移动法

3.交换法

4.复杂度分析

1.插入排序的思想

就像打扑克牌一样,在已排序的序列中,从后向前扫描,找到相应位置并插入

是一种“后来的数字”找自己位置的过程

从第二个数字 2 开始,取出待插入的数字 2 ,往前插入

数字 2 与 6 比较 2<6 所以 6 向右移动,将 2 插入

以此类推

直到最后一个数字插入后,排序完成

2.移动法

publicstaticvoidinsertSort(int[]arr){for(inti=1;i<arr.length;i++){intcurrentNumber=arr[i];intj=i-1;while(j>=0&&arr[j]>currentNumber){arr[j+1]=arr[j];j--;}//跳出循环的条件//1.遇到了一个比currentNumber小的数 则把currentNumber放到该数后面//2.j<0 说明整个数组currentNumber最小 把它放到开头arr[j+1]=currentNumber;}}

3.交换法

publicstaticvoidinsertSort(int[]arr){for(inti=1;i<arr.length;i++){intj=i;//j-1 值小于 j 则交换while(j>=1&&arr[j]<arr[j-1]){swap(arr,j,j-1);j--;}}}

4.复杂度分析

时间复杂度:O(n2)

​ *与冒泡、选择排序类似,都需要两层循环

空间复杂度:O(1)

​ *只引入了常数级别的变量

时间复杂度:O(n2)

​ *与冒泡、选择排序类似,都需要两层循环

空间复杂度:O(1)

​ *只引入了常数级别的变量

147. 对链表进行插入排序 - 力扣(LeetCode)

http://www.cnnetsun.cn/news/135531.html

相关文章:

  • Three-DXF深度解析:在浏览器中实现专业级CAD文件渲染
  • P2MS:比特币的多重签名机制与比特鹰的技术解析
  • 终极AI字幕生成指南:快速掌握智能字幕处理技巧
  • C语言程序设计教学指导:突破误区,设计有效实验项目
  • DirectX 9.0b SDK介绍:核心组件、在游戏中的重要性
  • AgentWeb混合开发终极指南:5步实现原生与Web无缝融合
  • 新手如何挖漏洞?看这一篇足够
  • 001 PyTorch实战:手写数字识别(MNIST)从零开始
  • 基于LCL滤波器的单相逆变器并网控制电路仿真研究:dq坐标系网侧电流闭环控制的实现与验证
  • RAG开发避坑指南:12个常见痛点与解决方案,从入门到精通,收藏这篇就够了!
  • 5分钟搞定Python控制Android设备:py-scrcpy-client实战指南
  • Simple Live:跨平台直播聚合神器,重新定义你的观看方式
  • 谷歌 Gemini 3 内测引爆业内讨论:为AI行业带来了哪些惊人的突破?
  • T型槽铸铁平台:工业基石与现代制造的完美融合
  • 基于Spring Boot的校园部门资料管理系统
  • Android截屏限制解决方案:DisableFlagSecure使用指南
  • 完全掌握Mac菜单栏图标隐藏技巧:Dozer深度实战指南
  • 教你快速从Vue 开发者 → React开发者转变!
  • AI薪资暴涨到4.7万/月!人才争夺白热化,程序员必学大模型技能,建议收藏
  • ALOHA双臂机器人实战指南:从零搭建低成本远程控制系统
  • Dependency-Check软件组成分析工具:从入门到精通的完整指南
  • 预算49800,99800,299800能买到什么样的算力服务器
  • SQLCoder-7B-2终极指南:3分钟让AI帮你写SQL
  • 数字时代的火眼金睛:如何快速识别伪造图片
  • Nettu Meet:终极开源视频会议系统的完整部署与高效协作指南
  • 2025年本科生毕业生高薪专业大洗牌!网络安全稳居榜首
  • 重塑macOS窗口切换体验:alt-tab-macos深度评测与实战指南
  • 【OpenCV】Python图像处理之重映射
  • CANN训练营 学习(day9)昇腾AscendC算子开发实战:从零到性能冠军
  • Kotaemon财务报表解读:非专业人士也能看懂财报