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

排序算法简介

直接插入排序:

将第一个元素视为已排序的序列,其余元素视为未排序序列。 ‌

逐个处理‌:从第二个元素开始,逐个将当前元素插入到已排序序列的适当位置,直到所有元素都被插入。 ‌

插入过程‌:对于每个待插入的元素,通过与已排序序列中的元素进行比较,找到合适的插入位置,并将该位置及之后的元素向后移动,为新元素腾出空间。

直接选择排序:

在所有记录中选出最小的记录,把它与第1个记录交换,然后在剩余的记录内选出最小的记录与第2个交换......依次类推

冒泡排序:

第一个元素和第二个元素比较,第二元素和第三元素比较,第三和第四......,以此类推,一轮结束大的冒泡了。第二轮开始,还是从第一元素和第二元素开始比较。

希尔排序:

将待排序的数组分成若干个子序列,每个子序列使用插入排序进行排序,然后逐步减小增量,直到增量为1时完成整个数组的排序

快速排序:

采用分治策略,通过选取一个“基准”元素,将待排序的数组分为两个子数组,一个子数组的元素都比基准元素小,另一个子数组的元素都比基准元素大,然后对这两个子数组递归地进行快速排序,从而达到对整个数组排序的目的‌

堆排序:利用大小堆的数据结构

归并排序:

基于分治策略,从中间划分成左右数组,左右数组再划分直到1个元素,然后划分的元素排序好,再原路返回的合并

http://www.lryc.cn/news/478259.html

相关文章:

  • (没有跳过联网激活)导致使用微软账号激活电脑---修改为本地账户和英文名字
  • [论文粗读][REALM: Retrieval-Augmented Language Model Pre-Training
  • flink 内存配置(五):网络缓存调优
  • set和map的使用
  • LCL三相并网逆变器simulink仿真+说明文档
  • 从0开始深度学习(24)——填充和步幅
  • CPU Study - Instructions Fetch
  • GJ Round (2024.9) Round 1~7
  • 【CMCL】多模态情感识别的跨模态对比学习
  • 输入/输出系统
  • asp.net+uniapp养老助餐管理系统 微信小程序
  • 部署istio应用未能产生Envoy sidecar代理
  • 使用YOLO 模型进行线程安全推理
  • ABAP 增强
  • vue使用方法创建组件
  • HTML 基础标签——链接标签 <a> 和 <iframe>
  • @SpringBootApplication源码解析
  • 【实战篇】requests库 - 有道云翻译爬虫 【附:代理IP的使用】
  • 法语动词变位
  • Excel:vba实现批量插入图片
  • Vue3的router和Vuex的学习笔记整理
  • 设置JAVA以适配华为2288HV2服务器的KVM控制台
  • 掌握Qt调试技术
  • 使用NVM自由切换nodejs版本
  • 同三维T610UHK USB单路4K60采集卡
  • Git超详细笔记包含IDEA整合操作
  • 摩尔线程嵌入式面试题及参考答案(2万字长文)
  • C++ 编程基础(3)数据类型 | 3.1、指针
  • nacos本地虚拟机搭建切换wiff问题
  • 打造完整 Transformer 编码器:逐步实现高效深度学习模块