algorithm.ts icon indicating copy to clipboard operation
algorithm.ts copied to clipboard

Common algorithms and data structures written in Typescript

A monorepo contains some of common algorithms and data structures written in Typescript. (no third-party dependencies)

Overview

Package Description
@algorithm.ts/base64 A Base64 encoding implementation.
@algorithm.ts/bellman-ford Bellman-ford algorithm. #ShortestPath
@algorithm.ts/binary-index-tree Binary Index Tree.
@algorithm.ts/bipartite-graph-matching The algorithm to find the maximum matching of the bipartite graph.
@algorithm.ts/calculate A tiny calculator for number arithmetics.
@algorithm.ts/circular-queue Circular queue.
@algorithm.ts/dijkstra Dijkstra algorithm optimized with @algorithm.ts/priority-queue. #ShortestPath
@algorithm.ts/dijkstra-bigint Dijkstra algorithm (bigint version) optimized with @algorithm.ts/priority-queue. #ShortestPath
@algorithm.ts/dinic Dinic algorithm. #MaxFlow, #NetworkFlow.
@algorithm.ts/dlx DLX algorithm.
@algorithm.ts/findset Find set.
@algorithm.ts/gcd Greatest Common Divisor (GCD) and extended Euclidean algorithm.
@algorithm.ts/graph Types and utils from solving graph problems.
@algorithm.ts/huffman A Huffman coding implementation.
@algorithm.ts/isap ISAP algorithm. #MaxFlow, #NetworkFlow.
@algorithm.ts/knuth-shuffle Knuth-Shuffle algorithm.
@algorithm.ts/lcs Find the Longest Common Subsequence.
@algorithm.ts/lower-bound Find the index of first elements which greater or equals than the target element.
@algorithm.ts/manacher The manacher algorithm for solving palindrome string problems.
@algorithm.ts/mcmf MCMF algorithm. #MinCostMaxFlow, #NetworkFlow.
@algorithm.ts/priority-queue Priority Queue (heap).
@algorithm.ts/roman Support the mutual conversion between Roman numerals and Arabic numerals.
@algorithm.ts/sliding-window Sliding window algorithm.
@algorithm.ts/sieve-prime A linear time algorithm to sieve prime numbers.
@algorithm.ts/sieve-totient A linear time algorithm to sieve prime numbers and get the Euler's totient function.
@algorithm.ts/sudoku A collection of utilities to generate / solve Sudoku problems.
@algorithm.ts/trie Trie. (digital tree or prefix tree)
@algorithm.ts/upper-bound Find the index of first elements which greater than the target element.

License

algorithm.ts is MIT licensed.