-
Book: Data Structures and Algorithms Made Easy In Java
by Narasimha KarumanchiThe official companian source code for the book Data Structures and Algorithms Made Easy In Java by Narasimha Karumanchi
The following topics are covered:- Introduction
- Recursion and Backtracking
- Linked Lists
- Stacks
- Queues
- Trees
- Priority Queue and Heaps
- Disjoint Sets ADT
- Graph Algorithms
- Sorting
- Searching
- Selection Algorithms [Medians]
- Symbol Tables
- Hashing
- String Algorithms
- Algorithms Design Techniques
- Greedy Algorithms
- Divide and Conquer Algorithms
- Dynamic Programming
- Complexity Classes
- Miscellaneous Concepts
-
Data Structures and Algorithms in Java
by indy256Full version of library on github.
Collection of algorithms and data structures in Java written by indy256
The following topics are covered:
- Trees: segment tree, Fenwick tree, k-d tree, R-tree, metric tree, quadtree, persistent tree, link/cut tree, binary heap, disjoint-sets, treap
- Graph algorithms: shortest paths, maximum flow, maximum matching, spanning tree, connectivity, biconnectivity, LCA
- String algorithms: suffix tree, suffix automata, suffix array, trie, Aho-Corasick algorithm, Knuth-Morris-Pratt algorithm, Z-function, hashing, parsing
- Sorting algorithms: quick-, merge-, heap-, bubble-, selection-, insertion-, counting-, radix-sorting; Kth order statistic
- Geometry algorithms: segments/lines/circles intersection, point in polygon query, convex hull, closest/furthest pair of points
- Combinatorics: permutations, combinations, arrangements, partitions
- Other: big numbers multiplication via fast Fourier transform, simplex algorithm
-
Popular Algorithms in Java
by jeandersonbcFull version of library on github.
Clean and readable Java implementation for popular algorithms like sorting, searching and many more written by github user jeandersonbc.
The following topics are covered:
- Sorting algorithms: Multiple variants of quick sort, insertion sort and merge sort
- Search algorithms: Linear and Binary search algorithms
- Other: Fast implementation of power function, maximum sum sub-array, inversions.