Algorithms
Several algorithms implemented in Python, documented and classified by different categories.
(Feel free to contribute to the project)
At the end of every algorithm, there is driver (example) code to demonstrate the algorithm
-
Artificial intelligence
-
MiniMax (TicTacToe) (Cannot be considered as an exact A.I. algorithm, more of a Maths one)
Dependencies: tictactoeaddons.py, copy, inspect
-
-
Compression
-
Huffman compression (coding)
Dependencies: No dependencies
-
Run-length compression (encoding)
Dependencies: re (Regex)
-
-
Cryptography
-
Advanced Encryption Standard (Rijndael)
Dependencies: copy
-
Diffie-Hellman key exchange
Dependencies: math, time, random
-
Message Digest 5 (MD5)
Dependencies: math, numpy, random
-
-
Data science
-
Principal Component Analysis (2D)
Dependencies: random, numpy, sympy, matplotlib.pyplot, math
-
Cluster Analysis (K-means and Hierarchial clustering)
Dependencies: numpy, matplotlib.pyplot
-
-
Drawing (Fractals)
Dependencies: turtle
- Fractal Tree
- Koch Snowflake
-
Graphics
-
Value Noise
Dependencies: random, numpy, matplotlib.pyplot, matplotlib.image
-
-
Maths
-
Taylor series
Dependencies: sympy, math
-
-
Sorting
Dependencies: unittest (just for the tests)
- Insertion Sort
- Merge sort