Data Structures and Algorithms in Java

Full 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

Close

Codiva.io

Signin

Don't have an account? Register here.

Close

Codiva.io

Create your free account

Already have an account? Sign in here.