21xrx.com
2024-11-22 05:44:43 Friday
登录
文章检索 我的文章 写文章
用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);

  }

}

文章

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复