Skip to content

pct960/codelibrary

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

Index available at:

About

Collection of algorithms and data structures

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 81.3%
  • C++ 10.8%
  • Scala 2.7%
  • Python 2.5%
  • Kotlin 2.2%
  • JavaScript 0.3%
  • Other 0.2%