美文网首页
基础算法--java语言

基础算法--java语言

作者: 关先生的IT博客 | 来源:发表于2017-04-29 09:13 被阅读0次
  • 冒泡算法
    # 关于冒泡算法,时间复杂度为O(n²),通过循环操作将两两相邻中最小的那个数交换到最前面。

               /**
               *@Description:<p>冒泡排序算法实现</p>
               *@author  7
               *
               */
              public class BubbleSort {
                  
                  public static void bubbleSort(int[] arr) {
                      if(arr == null || arr.length == 0)
                          return ;
                      for(int i=0; i<arr.length-1; i++) {
                          for(int j=arr.length-1; j>i; j--) {
                              if(arr[j] < arr[j-1]) {
                                  swap(arr, j-1, j);
                              }
                          }
                      }
                  }
                  
                  public static void swap(int[] arr, int i, int j) {
                      int temp = arr[i];
                      arr[i] = arr[j];
                      arr[j] = temp;
                  }
              }
    
  • 选择排序
    #时间复杂度O(n)
    #选择排序的原理与冒泡类似,冒泡是相邻的进行交换,而选择排序是对当前值后面的值进行选择。
    #找到最小的值,然后和当前值进行比较,将小的值放在前面。
    public class SelectSort {

          public static void selectSort(int[] arr) {
              if(arr == null || arr.length == 0)
                  return ;
              int minIndex = 0;
              for(int i=0; i<arr.length-1; i++) { //只需要比较n-1次
                  minIndex = i;
                  for(int j=i+1; j<arr.length; j++) { //从i+1开始比较,因为minIndex默认为i了,i就没必要比了。
                      if(arr[j] < arr[minIndex]) {
                          minIndex = j;
                      }
                  }
                  
                  if(minIndex != i) { //如果minIndex不为i,说明找到了更小的值,交换之。
                      swap(arr, i, minIndex);
                  }
              }
              
          }
          
          public static void swap(int[] arr, int i, int j) {
              int temp = arr[i];
              arr[i] = arr[j];
              arr[j] = temp;
          }
      }
    
  • 插入排序
    #

相关文章

  • 7月份之前的技术学习与计划

    读书计划 基础方面 算法:《算法》,《算法导论》,需要认真理解算法,并独立完成相关习题 语言:《JAVA编程思想》...

  • 基础算法--java语言

    冒泡算法# 关于冒泡算法,时间复杂度为O(n²),通过循环操作将两两相邻中最小的那个数交换到最前面。 ...

  • 阶段02#大三·下

    A 书籍 C程序设计语言 Java学习指南 C++语言基础教程 数据结构与算法分析 算法设计与分析基础 计算机网络...

  • Java开发学习之路

    Java开发的学习之路 基础知识 编程语言:Java Python C 基本算法 基本网络知识:TCP/IP HT...

  • JVM垃圾回收算法

    Java基础:JVM垃圾回收算法 [toc] 参考:Java基础:JVM垃圾回收算法图解JVM垃圾回收算法 总结:...

  • 算法与数据结构

    数据结构 数据结构与算法分析_Java语言描述(第2版) 算法 计算机算法基础算法导论编程之法_面试和算法心得 c...

  • #算法与数据结构书籍

    数据结构 数据结构与算法分析_Java语言描述(第2版) 算法 计算机算法基础算法导论编程之法_面试和算法心得 c...

  • 技术体系

    一,java核心 java基础,jvm,算法,多线程,设计模式 Java基础:java基础相关,全栈java基础 ...

  • 校验和算法,舍弃高位,JAVA,C语言实现

    C 语言校验和算法 JAVA 语言校验和算法

  • Java学习路线?

    基础知识 编程语言: Java Python 基本算法 基本网络知识:TCP/IP HTTP/HTTPS 基本的...

网友评论

      本文标题:基础算法--java语言

      本文链接:https://www.haomeiwen.com/subject/iogozttx.html