From allmyalgorithms
Revision as of 23:09, 20 June 2013 by AndreasBihlmaier (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The aim of this semantic wiki is to collect, categorize and relate all algorithms and data structures.
Furthermore, the wiki should detail all uses of every algorithm and list all algorithms successfully applied to solve a particular problem.
This includes pointing out how a problem must be conceptualized in order to be solvable by a certain algorithm (i.e. as what kind of thing or under which model it must be regarded to be valid input).

The main objectives are to

Please register and contribute (contact

Algorithm categories

Sorting, Graphs, Combinatorical, Dynamic Programming, Approximation, Heuristics, Optimization, Geometry, Strings, Numerical, Arithmetic, Probabilistic, Randomized, Transformation,

Data structure categories

Sets, Key Value, Trees, Strings, Ordered, Graphs,

Problem categories

Paths, Partition, Connection, Sequence, Search, Recognition, Learning, Inference, Arithmetic, Geometric, Aggregation, Distribution,


Graph, Matrix or Vector, Image, Space and Time, Dynamic System, Control, Optimization, Branch and Bound, Game Theory, Market, Multi-Agent, Planning, Physics,


Robotics, Computer Vision, Machine Learning, Image Processing, Pattern Recognition, Cognition, Language Processing, Compiler Design, Type Theory, Medical Image Computing, Databases, Cryptography, Human Machine Interaction, Automated Planning,


Divide and Conquer, Recursion, Dynamic Programming,


External Memory, Parallel Shared Memory, Parallel Distributed Memory, Graph, Computer Vision, Machine Learning,

The idea behind

This effort was motivated after incidentally realizing that the Wagner–Fischer algorithm (measuring Levenshtein distance between two strings) and the Dynamic Time Warping algorithm (measuring similarity between two sequences which may vary in time or speed) are actually the same algorithm. This is obvious when looking at both algorithms at the same time. However, the speech and pattern recognition community seems to always refer to the Dynamic time warping algorithm while the Wagner-Fischer algorithm is better known in the algorithm community. Both communities would benefit if the synonymy or very close kinship of the algorithm would be well-known.

Similarly, it is quite inspiring to see the same problem under different views and thereby different algorithmic solutions, e.g. edge detection in images as just this problem or as input to min-cut, geometric or diffusion algorithms.

Personal tools

Wiki navigation