This repo is used to store my implementation of different algorithms.
If you find any mistakes or bugs in the code please let me know. Also please let me know if you feel that I have misinterpreted the algorithm or implemented it in non-optimal way. Contact e-mail: [email protected]
I will write most of my code in C, Java, Python, some Lisp dialect, Haskell and JavaScript
I belive this repo will be active for years and i don`t expect to write everything in a couple of monthes.
http://en.wikipedia.org/wiki/List_of_algorithms 1 Combinatorial algorithms
1.1 General combinatorial algorithms 1.2 Graph algorithms 1.2.1 Graph drawing 1.2.2 Network theory 1.2.3 Routing for Graphs 1.2.4 Graph Search 1.2.5 Subgraphs 1.3 Sequence algorithms
1.3.1 Approximate sequence matching 1.3.2 Sequence search 1.3.3 Sequence Merging 1.3.4 Sequence Permutations 1.3.5 Sequence alignment 1.3.6 Sequence Sorting 1.3.7 Subsequences 1.3.8 Substrings 2 Computational mathematics
2.1 Abstract algebra 2.2 Computer algebra 2.3 Geometry 2.4 Number theoretic algorithms 2.5 Numerical algorithms 2.5.1 Differential equation solving 2.5.2 Elementary and special functions 2.5.3 Geometric 2.5.4 Interpolation and extrapolation 2.5.5 Linear algebra 2.5.6 Monte Carlo 2.5.7 Numerical integration 2.5.8 Root finding 2.6 Optimization algorithms 3 Computational science
3.1 Astronomy 3.2 Bioinformatics 3.3 Geoscience 3.4 Linguistics 3.5 Medicine 3.6 Physics 3.7 Statistics
4.1 Computer architecture 4.2 Computer graphics 4.3 Cryptography 4.4 Digital logic 4.5 Machine learning and statistical classification 4.6 Programming language theory 4.6.1 Parsing 4.7 Quantum algorithms 4.8 Theory of computation and automata
5.1 Coding theory 5.1.1 Error detection and correction 5.1.2 Lossless compression algorithms 5.1.3 Lossy compression algorithms 5.2 Digital signal processing 5.2.1 Image processing
6.1 Database algorithms 6.2 Distributed systems algorithms 6.3 Memory allocation and deallocation algorithms 6.4 Operating systems algorithms 6.4.1 Disk scheduling 6.4.2 Networking 6.4.3 Process synchronization 6.4.4 Scheduling