在路上

 找回密码
 立即注册
在路上 站点首页 学习 查看内容

排序算法之冒泡排序

2016-7-29 15:47| 发布者: zhangjf| 查看: 647| 评论: 0

摘要: 冒泡排序的时间复杂度 最优的时间复杂度为:O( n^2 ),有的说是O(n)。 最差的时间复杂度为:O( n^2 ); 平均的时间复杂度为:O( n^2 ); 冒泡排序的空间复杂度就是在交换元素时那个临时变量所占的内存空间 ...
冒泡排序的时间复杂度
最优的时间复杂度为:O( n^2 ),有的说是O(n)。
最差的时间复杂度为:O( n^2 );
平均的时间复杂度为:O( n^2 );
冒泡排序的空间复杂度就是在交换元素时那个临时变量所占的内存空间;
最优的空间复杂度就是开始元素顺序已经排好了,则空间复杂度为:0;
最差的空间复杂度就是开始元素逆序排序了,则空间复杂度为:O(n);
平均的空间复杂度为:O(1);
  1. package com.zy.sort;
  2. public class BubbleSortTest {
  3. public static void bubbleSort(int[] a){
  4. int temp = 0;
  5. for(int i = a.length - 1;i >= 0;i--)
  6. {
  7. for (int j = 0; j < i; j++) {
  8. if (a[j] > a[j+1]) {
  9. //交换相邻两个数
  10. temp = a[j];
  11. a[j] = a[j+1];
  12. a[j+1] = temp;
  13. }
  14. }
  15. System.out.println("第" + i + "步的结果为:");
  16. for (int k = 0; k < a.length; k++) {
  17. System.out.print(a[k] + "t");
  18. }
  19. System.out.println();
  20. }
  21. }
  22. public static void main(String[] args) {
  23. int [] a = new int [10];
  24. for (int i = 0; i < a.length; i++) {
  25. a[i] = (int)(Math.random()*1000);
  26. }
  27. System.out.println("排序前的数组 :");
  28. for (int i = 0; i < a.length; i++) {
  29. System.out.print(a[i] + "t");
  30. }
  31. System.out.println();
  32. bubbleSort(a);
  33. System.out.println("排序后的数组 :");
  34. for (int i = 0; i < a.length; i++) {
  35. System.out.print(a[i] + "t");
  36. }
  37. }
  38. }
复制代码

最新评论

小黑屋|在路上 ( 蜀ICP备15035742号-1 

;

GMT+8, 2025-5-6 13:18

Copyright 2015-2025 djqfx

返回顶部