Skip to content

katzkowski/algo-lib

Repository files navigation

algo-lib

algo-lib is an open library of algorithms with pseudo-code and explanations, which is maintained as a personal project by two computer science students. The project emerged from the idea to collect all algorithms, which we encounter during the studies, in one place. We then decided to publish our continuously updated library, so that others can benefit from our collection.

Algorithm Roadmap

Below is an overview of algorithms currently documented in the library and the planned additions for the future.

Sorting Algorithms

  • Quicksort
  • Mergesort
  • Insertion sort
  • Heapsort
  • Introsort

Search Algorithms

  • Binary search
  • Bidirectional search
  • Depth-first search
  • Breadth-first search
  • Monte carlo tree search
  • Internal iterative deepening

Graph Algorithms

  • A*
  • Dijkstra
  • Kernighan–Lin
  • TSP problem (christofides)
  • Eedge / vertex coloring
  • Maximum flow, edmond karp algo
  • Max cliquen algo

Math Algorithms

  • Kadanes algorithm (max subarray)
  • Karatsuba algorithm (multiplication)
  • Hamming distance (dp algo)
  • K-means clustering, lloyd algorithm (voronoi diagram)
  • Square root algorithm (goldschmidts algo, zu lang?)
  • Random number generator
  • Heaps algorithm (all permutations of n objects)

Others

  • Minimax
  • AlphaBeta
  • Strict alternation
  • Fisher algorithm
  • Wagner-Fischer (Edit Distance)
  • Newton method (root finding)
  • CG algorithms
  • O1 scheduler
  • Cyk algo
  • Towers hanoi
  • Find missing value

Tech Stack

The website for this library was developed using the JavaScript frameworks Gatsby, React and Styled Components.

Contributors

Kevin Katzkowski (developer, author) - GitHub

Jakob Hackstein (author) - GitHub