冒泡排序法_冒泡排序算法

news/2024/7/4 8:43:22

在日常开发中经常会遇到一类问题,就是对一个集合的数据进行排序

掌握一些排序算法,对于日常开发是非常有帮助的

今天介绍一下冒泡排序法

算法逻辑

1593fc07bf4d005e39ef0c8dd9d1bb88.png

时间复杂度

由上图逻辑可以得出,冒泡排序的循环次数为

b22ef7d8108d21b02feb7438c1fd6854.png

由循环次数可以得出,冒泡排序的时间复杂度为

7946b5ffc26875370cd71298695d4bd0.png

空间复杂度

由上图逻辑可以得出,冒泡排序每次交换所使用的临时变量为 i,j,tmp

5f015cd13f61c001cc61cd8e999f7ce4.png

由临时变量数可以得出,冒泡排序的空间复杂度为

735c56331aa7188fb071eb741cd3f1d4.png

java代码实现

c1be7495aa22760e4de6be9a01a82147.png
public int[] sortByBubble(int[] data) {    //获取数组总长度    int size = data.length;        for (int i = 0; i < size; i++) {        for (int j = 0; j < size - i - 1; j++) {            //Todo: 请关注这里            //if判断里使用 “>” 代表从小到大排序            //if判断里使用 “ data[j + 1]) {                int tmp = data[j];                data[j] = data[j + 1];                data[j + 1] = tmp;            }        }    }    return data;}

小结

今天主要介绍了单集合排序的一种排序算法——冒泡排序

小伙伴们都了解了吗?

下次小Top将继续介绍单集合排序算法

对于今天的内容有任何疑问或问题,欢迎留言或讨论 ^-^


http://www.niftyadmin.cn/n/1895019.html

相关文章

辗除法求最大公约数_用欧几里得算法求最大公约数

12 和 18 的最大公约数是多少&#xff1f;最大公约数&#xff1a;最大公约数&#xff0c;也称最大公因数、最大公因子&#xff0c;指两个或多个整数共有约数中最大的一个。例如&#xff1a;18 与 12 的最大公约数为 6 。短除法短除法是求最大公因数的一种方法&#xff1a;先把每…

canal mysql从库_Canal 实现 Mysql数据库实时数据同步

简介1.1 canal介绍​ Canal是一个基于MySQL二进制日志的高性能数据同步系统。Canal广泛用于阿里巴巴集团(包括https://www.taobao.com)&#xff0c;以提供可靠的低延迟增量数据管道&#xff0c;github地址&#xff1a;https://github.com/alibaba/canalCanal Server能够解析MyS…

模型剪枝和量化_人脸识别系统之模型压缩裁剪量化

本文用途仅仅是在前人经验下&#xff0c;自我总结&#xff0c;以供以后学习使用&#xff0c;若有错误&#xff0c;敬请您批评指正。应用背景&#xff1a;深度学习的应用加速了计算机视觉领域的发展&#xff0c;但是随着模型深度的加深&#xff0c;也带来了高额的存储空间、计算…

代码生成器开发笔记(2)-数据库架构

代码生成器开发笔记(&#xff12;)&#xff0d;数据库架构 程序 2009-06-13 01:30:01 阅读55 评论0 字号&#xff1a;大中小 订阅 要完成代码生成器&#xff0c;第一个要解决的是完全解析数据库架构。 对SQL Server当然没什么问题&#xff0c;早在ADO时代就可以通过查询sy…

mysql on linux 安装_MySQL on Linux手动安装方法

MySQL on Linux手动安装方法发布时间:2007-06-05 11:44:45来源:红联作者:TecCTO1. 下载"mysql-standard-5.0.27-Linux-i686-icc-glibc23.tar.gz"&#xff0c;推荐ICC版本&#xff0c;据称比GCC性能提高10-20%2. 复制到/usr/local/&#xff0c;解压&#xff1a;tar zx…

MongoDB最新最佳连接工具:Robo 3T

MongoDB连接工具 像使用Mysql&#xff0c;喜欢用Navicat连接工具一样。 在使用MongoDB数据库的时候&#xff0c;同样可以使用Robo 3T图形化工具。 一、下载Robo 3T Robo 3T官网 Studio 3T&#xff1a;专业人士使用的&#xff0c;需要付费。 Robo 3T&#xff1a;虽然免费&…

mysql audit_mysql5.7添加日志审计插件audit-plugin

来自McAfee的MySQL插件&#xff0c;为MySQL提供审计功能&#xff0c;重点是安全性和审计要求。该插件可以用作独立的审核解决方案&#xff0c;也可以配置为将数据提供给外部监视工具。插件下载地址&#xff1a;首先查看mysql的插件保存目录&#xff1a;mysql> show global v…

代码生成器开发笔记(3)-界面设计

代码生成器开发笔记(3)&#xff0d;界面设计 程序 2009-06-13 13:48:34 阅读73 评论0 字号&#xff1a;大中小 订阅 解决了数据架构问题&#xff0c;开始正式动手写代码。 第一个问题当然是界面设计了。准备做成VS2005风格&#xff0c;也就是多文档、支持窗体停靠&#xf…