21xrx.com
2024-11-22 13:25:22 Friday
登录
文章检索 我的文章 写文章
Java算法书籍推荐及示例代码
2023-06-15 07:58:26 深夜i     --     --
算法导论 快速排序 数据结构

Java作为一门流行的编程语言,在算法学习中也有着重要的地位。本文将推荐几本Java算法书籍,并提供相应的示例代码。

1.《算法导论》(原书第3版)

这是一本经典的算法书籍,涵盖了算法设计与分析、排序和选择、数据结构、动态规划等方面内容。此书提供了丰富的实例和习题,可以帮助读者深入理解各种算法的设计和应用方法。

示例代码:快速排序


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

 if (left < right) {

  int i = left, j = right, pivot = arr[left];

  while (i < j) {

   while (i < j && arr[j] >= pivot)

    j--;

   if (i < j)

    arr[i++] = arr[j];

   while (i < j && arr[i] < pivot)

    i++;

   if (i < j)

    arr[j--] = arr[i];

  }

  arr[i] = pivot;

  quickSort(arr, left, i - 1);

  quickSort(arr, i + 1, right);

 }

}

2.《Java程序员面试宝典》

虽然这是一本面试指南,但它也提供了许多有用的算法和数据结构。书中涵盖了数组、链表、队列、树、图等常见数据结构,以及排序、查找等常见算法。

示例代码:二分查找


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

 if (left > right)

  return -1;

 int mid = (left + right) / 2;

 if (arr[mid] == key)

  return mid;

 else if (arr[mid] > key)

  return binarySearch(arr, key, left, mid - 1);

 else

  return binarySearch(arr, key, mid + 1, right);

}

关键词:面试宝典、二分查找、队列

3.《算法竞赛入门经典》

这是一本比较适合初学者的算法书籍,注重基本算法和数据结构的讲解,并提供了大量的例题和训练题。这本书也适合想要参加算法比赛的读者。

示例代码:Fibonacci数列


public static int fibonacci(int n) {

 if (n == 1 || n == 2)

  return 1;

 else

  return fibonacci(n - 1) + fibonacci(n - 2);

}

关键词:算法竞赛、Fibonacci数列、递归

  
  

评论区

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