冒泡排序思想: 以从小到大排序举例。每一轮比较第n个值和第n+1个值的大小,如果num[n]大于num[n+1],那么交换这两个值;总共需要进行n-1次比较。

public static int[] bubbleSort(int[] num) {int temp;//最多需要进行n-1轮for (int i = 1; i < num.length; i++) {//每轮都会冒出一个值,所以比较num.length-i次即可for (int j = 0; j < num.length - i; j++) {if (num[j] > num[j + 1]) {temp = num[j + 1];num[j + 1] = num[j];num[j] = temp;}}}return num;}

时间复杂度:因为是双层循环,每次循环次数接近于n,所以为O(n^2),冒泡排序的时间复杂度比较低。

冒泡排序及时间复杂度相关推荐

  1. js排序的时间复杂度_冒泡排序最好时间复杂度为什么是O

    展开全部 冒泡排序的基本思想是,对相邻的元素进行两两比较,顺序相反则进行交换,这样,每一趟会e68a8462616964757a686964616f31333433616161将最小或最大的元素&qu ...

  2. Java菜鸟教程 冒泡排序,时间复杂度和空间复杂度

    最近,笔者学习了冒泡排序,在此简单分享一下. 冒泡排序的原理:         对于一个数组,冒泡排序算法会比较相邻的两项的大小,并进行交换. 对每一对相邻的元素做同样的调整,如:第一个和第二个,第二 ...

  3. 冒泡排序最好时间复杂度为n的代码修改

    冒泡排序最好时间复杂度为n的代码修改 重点是加一个标识位 优化后的代码 代码优化的核心是增加一个标识位,在里层嵌套循环没有进行交换的时候退出程序 重点是加一个标识位 public void sort( ...

  4. 【C语言】冒泡排序算法和冒泡排序的时间复杂度

    提示:冒泡排序算法是非常重要的算法,一定要熟练掌握.思路可以参考一位大佬博主的博客:帅地.介绍的十分详细,理解了之后,可以参考我的代码 ,是入门级别的,比较好懂.关于时间复杂度是数据结构的内容,没学过 ...

  5. 冒泡排序最佳时间复杂度为(n)的原因

    冒泡排序最佳时间复杂度为O(n)的原因 参考:https://www.cnblogs.com/melon-h/archive/2012/09/20/2694941.html 概述:记录下基础容易出错的 ...

  6. python冒泡排序算法时间复杂度为nlogn_Python版算法专题-1、冒泡排序

    1.冒泡排序 核心算法: 在数组x[n]中,从第一个数开始,拿x[i]和后面的数x[i+1]进行比较,如果x[i]比后面的大,就交换两个数的位置,这样遍历一遍数组后,把最大的数据排在了最后面,之后继续 ...

  7. 排序算法-冒泡排序的时间复杂度分析

    冒泡排序算法是一种基于比较的排序算法,每次冒泡过程,都会有一个数据确定位置.经过n次冒泡后,就有n个数据确定了位置. 如图所示,对数组[4,5,6,3,2,1]进行冒泡排序.  起初,按照最原始的想法 ...

  8. 排序算法之 冒泡排序 及其时间复杂度和空间复杂度

    冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交 ...

  9. 冒泡排序:时间复杂度与空间复杂度

    冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交 ...

最新文章

  1. java里面怎么导入sql文件_java将SQL文件导入到数据库
  2. python从入门到实践回顾——字典
  3. Manjaro 安装笔记
  4. 尝试优化骨骼动画计算的意外收获——使用嵌入式汇编对float转int进行优化
  5. minecraft正版整合包服务器,我的世界1.7.2基佬整合包
  6. Javascript---Immediately-Invoked Function Expression (IIFE)立即执行的函数表达式
  7. gmat模考_国外GMAT高分学霸们都在用什么复习资料?(模考篇)
  8. How can I set ccshared=-fPIC while executing ./configure?
  9. JMS介绍与ActiveMQ安装
  10. tmux + zsh
  11. 小白记事本--JAVA入门
  12. iOS 编写高质量Objective-C代码(五)
  13. EthBox以太坊开发套件,一键安装部署以太坊开发环境
  14. java 单元测试 网络请求_Spring Boot 系列(二)单元测试网络请求
  15. js遍历对象去除空格
  16. 【基带】手机外设之SIM卡槽电路及其变化
  17. matlab符号加粗_matlab坐标轴字体加粗
  18. 【HDFS】HDFS文件块大小(重点)
  19. 尼康d3200与智能设备 (android) 连接,,尼康D3200有WIFI功能吗
  20. LeetCode通关:哈希表六连,这个还真有点简单

热门文章

  1. acrh17华硕固件_华硕RT-ACRH17路由不死OpBoot
  2. 【保姆级教程】修改VSCode软件的插件下载位置
  3. 博士申请 | 美国宾夕法尼亚州立大学李宾老师组招收机器学习方向全奖博士生...
  4. ROS问题总结: Linux下C++/C终端获取键盘事件(常用键盘字母对应数值)
  5. 音视频硬解码篇——音视频基础知识
  6. 实习生两大杀手之一:Maven 我们为什么要使用 Maven
  7. list遍历赋值,防止修改list中的值
  8. CTF中的Bypass命令执行
  9. redis主从配置之持久化配置
  10. 分享 11 个常用的 Nginx 性能优化参数工作