21xrx.com
2024-09-17 03:45:52 Tuesday
登录
文章检索 我的文章 写文章
用 Java 解决算法问题
2023-06-15 17:24:44 深夜i     --     --
Java 排序算法

解决算法问题是程序员不可回避的任务,无论是应用开发还是系统开发都需要掌握各种算法。Java 作为一门高级编程语言,也有自己独特的算法解决方案。在这篇文章中,我们将介绍一些 Java 中经常用到的算法及其代码案例。

1. 排序算法

排序算法是程序员必须要掌握的基础算法之一。Java 提供了不同的排序算法,如冒泡排序、快速排序、选择排序等。下面我们以快速排序为例,来看看 Java 中的代码实现:


public class QuickSort {

  public static void main(String[] args) {

    int[] arr = 5;

    quickSort(arr, 0, arr.length - 1);

    for (int i : arr) {

      System.out.print(i + " ");

    }

  }

  public static void quickSort(int[] arr, int left, int right) {

    if (left < right) {

      int partitionIndex = partition(arr, left, right);

      quickSort(arr, left, partitionIndex - 1);

      quickSort(arr, partitionIndex + 1, right);

    }

  }

  public static int partition(int[] arr, int left, int right) {

    int pivot = left;

    int index = pivot + 1;

    for (int i = index; i <= right; i++) {

      if (arr[i] < arr[pivot]) {

        swap(arr, i, index);

        index++;

      }

    }

    swap(arr, pivot, index - 1);

    return index - 1;

  }

  public static void swap(int[] arr, int i, int j) {

    int temp = arr[i];

    arr[i] = arr[j];

    arr[j] = temp;

  }

}

、快速排序、数组操作

2. 查找算法

查找算法是在数据集合中查找特定值的过程。Java 中常用的查找算法有线性查找、二分查找等。下面我们以二分查找为例,来看看 Java 中的代码实现:


public class BinarySearch {

  public static void main(String[] args) {

    int[] arr = 3;

    int target = 7;

    int result = binarySearch(arr, target);

    if (result == -1) {

      System.out.println("元素不存在");

    } else {

      System.out.println("元素存在于索引 " + result);

    }

  }

  public static int binarySearch(int[] arr, int target) {

    int left = 0;

    int right = arr.length - 1;

    while (left <= right) {

      int mid = (left + right) / 2;

      if (arr[mid] == target)

        return mid;

       else if (arr[mid] > target)

        right = mid - 1;

       else {

        left = mid + 1;

      }

    }

    return -1;

  }

}

关键词:Java 查找算法、二分查找、循环结构

3. 字符串匹配算法

在字符串处理中,字符串匹配算法是一个非常重要的问题。Java 中也有多种字符串匹配算法,如朴素模式匹配算法、KMP 算法等。下面我们以朴素模式匹配算法为例,来看看 Java 中的代码实现:


public class NaivePatternMatching {

  public static void main(String[] args) {

    String text = "JAVA is a widely used programming language";

    String pattern = "programming";

    naivePatternMatching(text, pattern);

  }

  public static void naivePatternMatching(String text, String pattern) {

    int n = text.length();

    int m = pattern.length();

    for (int i = 0; i <= n - m; i++) {

      int j;

      for (j = 0; j < m; j++) {

        if (text.charAt(i + j) != pattern.charAt(j))

          break;

        

      }

      if (j == m) {

        System.out.println("Pattern found at index " + i);

      }

    }

  }

}

关键词:Java 字符串匹配、朴素模式匹配、String 类型

  
  

评论区

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