Repository files navigation Collection of algorithms and data structures in Java, C++, Python, Scala, Kotlin, Haskell, JavaScript, Clojure
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
About
Collection of algorithms and data structures
Resources
License
Stars
Watchers
Forks
Languages
Java
81.3%
C++
10.8%
Scala
2.7%
Python
2.5%
Kotlin
2.2%
JavaScript
0.3%
Other
0.2%
You can’t perform that action at this time.