Skip to content

An implementation of all algorithms on Wikipedia's List of algorithms in Cython

License

Notifications You must be signed in to change notification settings

jm8/all-the-algorithms

Repository files navigation

all-the-algorithms

This project is a work in progress. It will probably never be finished, but if it is, it will be a single python library with on The List. (It does not include algorithms that are on a seperate list which is linked to on The List.)

A checklist directly from Wikipedia, showing our progress:

Combinatorial algorithms

General combinatorial algorithms

Graph algorithms

Graph drawing

  • Force-based algorithms (also known as force-directed algorithms or spring-based algorithm)
  • Spectral layout

Network theory

Routing for graphs

Graph search

Subgraphs

Approximate sequence matching

Selection algorithms

Sequence search

Sequence merging

  • Simple merge algorithm
  • k-way merge algorithm
  • Union (merge, with elements on the output not repeated)

Sequence permutations

Sequence alignment

Sequence sorting

Subsequences

Substrings

Computational mathematics

Abstract algebra

Computer algebra

Geometry

Number theoretic algorithms

Numerical algorithms

Differential equation solving

Elementary and special functions

Geometric

Interpolation and extrapolation

Linear algebra

Monte Carlo

Numerical integration

Root finding

Optimization algorithms

Computational science

Astronomy

Bioinformatics

Geoscience

  • Vincenty's formulae: a fast algorithm to calculate the distance between two latitude/longitude points on an ellipsoid
  • Geohash: a public domain algorithm that encodes a decimal latitude/longitude pair as a hash string

Linguistics

Medicine

Physics

Statistics

Computer science

Computer architecture

  • Tomasulo algorithm: allows sequential instructions that would normally be stalled due to certain dependencies to execute non-sequentially

Computer graphics

Cryptography

Digital logic

Machine learning and statistical classification

Programming language theory

Parsing

Quantum algorithms

Theory of computation and automata

Information theory and signal processing

Coding theory

Error detection and correction

Lossless compression algorithms

Lossy compression algorithms

Digital signal processing

Image processing

Software engineering

Database algorithms

Distributed systems algorithms

Memory allocation and deallocation algorithms

Networking

Operating systems algorithms

Process synchronization

Scheduling

Disk scheduling

About

An implementation of all algorithms on Wikipedia's List of algorithms in Cython

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages