The Algorithm Design Manual (3rd ed.) in Python
The Algorithm Design Manual (3rd Edition) by Steven S. Skiena is a seminal book in computer science. Skiena choose C as the programming language in the book. This repository is a Python version of the algorithms from the book.
algorist.com is the official website for the book.
Design Principles
- Built-in Python only - Use only built-in Python. No imports from Standard Library. No third-party dependencies.
- Readability counts - The code should be as clear as possible, even at the expense of optimizations.
- Pythonic - Write the algorithms with common idioms of Python. Not a direct translation of the C code.
- Correctness - Write unit tests to confirm the algorithm does what it intends to do (to some degree).