21xrx.com
2025-03-18 23:59:29 Tuesday
文章检索 我的文章 写文章
用Java实现常见算法
2023-06-12 09:38:27 深夜i     --     --
Java算法 排序算法 查找算法 递归算法

Java作为一门广泛应用于企业级开发的语言,在算法实现方面也有着不俗的表现。本文将介绍一些常见的算法,并提供Java代码实现,帮助读者更好地理解和实践。

一、排序算法

排序算法是算法中最基础的一类,涵盖了冒泡排序、插入排序、选择排序、快速排序、归并排序等多种常见算法。以下是一个实现冒泡排序的Java代码示例:

public static void bubbleSort(int[] arr) {
  int temp; // 用于交换的临时变量
  boolean flag; // 用于判断本轮循环是否发生交换
  for (int i = 0; i < arr.length - 1; i++) {
    flag = false;
    for (int j = 0; j < arr.length - 1 - i; j++) {
      if (arr[j] > arr[j + 1]) {
        temp = arr[j];
        arr[j] = arr[j + 1];
        arr[j + 1] = temp;
        flag = true;
      }
    }
    if (!flag) 提前结束循环
      break;
    
  }
}

二、查找算法

查找算法是指在一堆数据中查找目标数据的算法,其中最常见的有二分查找和线性查找。以下是一个实现二分查找的Java代码示例:

public static int binarySearch(int[] arr, int target) {
  int left = 0, right = arr.length - 1, mid;
  while (left <= right) {
    mid = (left + right) / 2;
    if (arr[mid] == target)
      return mid;
     else if (arr[mid] < target) {
      left = mid + 1;
    } else
      right = mid - 1;
    
  }
  return -1; // 未找到目标数据
}

三、递归算法

递归算法是指在算法实现中调用自身来解决问题的方法。常见的递归算法包括汉诺塔问题、斐波那契数列等。以下是一个实现斐波那契数列的Java代码示例:

public static int fib(int n) {
  if (n <= 1)
    return n;
   else {
    return fib(n - 1) + fib(n - 2);
  }
}

文章

  
  

评论区