Skip to content
💎Collection of algorithms and data structures
Branch: master
Clone or download
Latest commit 845eb0e Jun 23, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
cpp update Jun 23, 2019
java update Jun 23, 2019
kotlin update Jun 4, 2019
.travis.yml update Aug 5, 2018 Update Mar 21, 2019

GitHub stars Build Status License

Collection of algorithms and data structures in C++ and Java

Data structures

  • Segment tree c++ java
  • Segment tree for sum with lowerBound operation java
  • Fenwick tree c++ java
  • Fenwick tree with extended operations java
  • Persistent tree java
  • Centroid decomposition c++ java
  • Heavy/light decomposition java
  • Link/cut tree java
  • Link/cut tree for connectivity query java
  • Link/cut tree for LCA query java
  • Binary heap java
  • Binary heap with change priority java
  • Disjoint sets c++ java
  • Treap with implicit key java
  • Treap as BST c++ java
  • k-d tree for point query c++ java
  • k-d tree for rectangular query java
  • R-tree java
  • Metric tree java
  • Quadtree java
  • Mergeable heap java
  • Queue with minimum c++ java
  • Sparse table for RMQ java

Graph algorithms

String algorithms

Sorting algorithms

Geometry algorithms


  • Simplex algorithm java

Numerical algorithms

  • Long arithmetics c++
  • Fast Fourier transform (FFT) c++ java
  • Fast subset convolution java
  • Fast Walsh-Hadamar transform java
  • Karatsuba multiplication java
  • Newton interpolation java
  • Laguerre's root-finding algorithm c++

Number theory


Linear algebra

You can’t perform that action at this time.