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

4.6.2排序(三)冒泡排序与简单选择排序算法

在这里插入图片描述

文章目录

  • 冒泡排序
  • 简单选择排序

冒泡排序

在这里插入图片描述
冒泡排序每趟逐一比较邻近2个元素的大小,并在排序不正确时进行位置交换,经过一趟趟排序后,如果再无交换发生(或进行了n-1趟冒泡),则表示排序完成。当序列有序时,只需要进行一趟完整的比较,无需移动元素,即可完成排序。当完全逆序时,则每趟需要进行多次位置交换。
图例中,每趟冒泡时,黄色底标注的元素是当前进行比较,且可能做位置交换的元素。从图例中关键码48的排序情况看,冒泡排序属于稳定排序。

简单选择排序

在这里插入图片描述
简单选择排序每趟都可保证1个元素排到正确的位置。一定会进行n-1趟简单选择排序,每趟排序时,比较关键码i与其后n-i个关键码,从中选出(以非递减排序为例)关键码最小的元素,与i进行交换。
图例中,每趟排序里,黄色底标注的是参与比较、位置交换的元素。可以看到,随着排序的进行,问题的规模在不断缩小。从关键码48的排序结果看,简单选择排序是一种不稳定排序。


http://www.kler.cn/a/511560.html

相关文章:

  • GraphRAG: Auto Prompt Tuning 实践
  • 【多线程】线程池
  • 构建安全防线:基于视频AI的煤矿管理系统架构创新成果展示
  • Mybatis Plus 分页实现
  • R语言的文件操作
  • dl学习笔记:(4)简单神经网络
  • 【数据库日志】undo log、redo log和bin log作用及原理
  • Docker的原理:如何理解容器技术的力量
  • 基于Matlab实现MPC模型预测控制仿真程序(源码)
  • 【Spiffo】环境配置:Linux下LVGL项目构建(含v8、v9)、针对git不到子项目的手动组装
  • java spring,uName,kValue,前端传值后端接不到
  • 《知识图谱:鸿蒙NEXT中人工智能的智慧基石》
  • 【蓝桥杯】43687.赢球票
  • 【Linux系统】Linux下的图形库 ncurses(简单认识)
  • 基于VSCode+CMake+debootstrap搭建Ubuntu交叉编译开发环境
  • 电子电气架构 --- ECU故障诊断指南
  • LeetCode 题目 2545. 根据第 K 场考试的分数排序
  • Yii框架中的数据提取:从不同数据源获取数据
  • GoLang教程002:Go语言中的变量声明
  • Flutter+vsCode 安装问题记录
  • python怎么搞定输入??
  • 【Linux】Linux命令:ifconfig
  • Java 基于 SpringBoot+Vue 的校园数字化图书馆(源码+部署+文档)
  • 电梯系统的UML文档06
  • 从单机到集群:Docker、Kubernetes 与 Helm 部署 Redis 全攻略
  • Cyber Security 101-Offensive Security-SQLMap: The Basics(sqlmap基础)