/Grokking_algorithms_in_java

<<Grokking algorithm>> in java .

Primary LanguageJava

《算法图解》 中所有例子的Java版实现

代码已经更新到第10章

《算法图解》的购买地址

内容提要

《算法图解》中所有的例子都使用Python实现,我们提供了这本书的所有Java实现代码,供Java程序员看书时使用。

chapter01:BinarySearch,二分排序算法

chapter02:SelectionSort,选择排序算法

chapter03:递归算法,CountDown和Factorial的例子

chapter04:Quick Sort快速排序,书上的例子用QuickSort实现,它对List排序,中间产生了很多临时List对象,效率较低; 因此还提供了为原生数组排序的QuickSortForArray算法,不产生临时对象,效率较高

chapter05:Hash table simple example,哈希表的简单范例。

chapter06:广度优先搜索 breadth-first search,寻找有向图中的最短路径

chapter07:dijkstra's algorithm, 寻找有向无环加权图中的最短路径

chapter08:Greed,贪心算法解决集合覆盖问题

chapter09:FindLongestPublicSubString,使用动态规划算来寻找"最长公共子序列"和"最长公共子串"

chapter10:KNN,使用knn算法来预测面包店的销量(本算法书中并无代码)