/AlgorithmsML

Implementation of various Algorithms in OCaml

Primary LanguageOCaml

AlgorithmsML

Implementation of various Algorithms in OCaml.

Algorithms to be implemented:

### Strings:

  • KMP
  • Rabin-Karp 2D
  • AC Automaton
  • Z-algorithm
  • Hash function for string

### Optimization:

  • Sparse Max-flow
  • Min-cost max-flow
  • Push-relabel max-flow
  • Min-cost matching
  • Max bipartite matching
  • Stable matchings
  • Global Min-cut

### Geometry:

  • Convex Hull
  • Miscellaneous
  • Half-plane intersection
  • Closest Pair
  • Delaunay Triangulation

### Numerical Algorithms:

  • Number theoretic algorithm
  • Discrete Logarithm
  • Euler's function
  • Systems of linear equations, matrix inverse, determinant
  • Reduced row echelon form, matrix rank
  • Fast Fourier Transform
  • Linear Programming
  • Binomal coefficient
  • Sieve of Erathostenes
  • Prime number

### Graphs:

  • Dijkstra's algorithm
  • Bellman-Ford
  • MST
  • Strongly connected components
  • DFS
  • BFS
  • Topological Sort
  • Eulerian Circuit
  • Test Bipartite Graph
  • Cut vertex/Bridge
  • Biconnected Component
  • Exact Cover
  • Lowest Common Ancestor

### Data Structures:

  • Suffix Arrays
  • Binary Indexed Tree
  • Union-Find
  • KD-tree
  • Segment Tree
  • Treap
  • Bits Sets
  • Trie
  • Rank Tree

### Miscellaneous:

  • Longest Increasing Subsequence
  • Maximum Rectangle in a Matrix
  • Dichotomy
  • 2-SAT