Codes are mostly written in C++. majority should work with C++11 and some might require C++14 or higher. Some algorithms are written in Python. For Python, use Python 3. Most of them should be compatible with PyPy as well.
Implementations are usually stress-tested and cross-checked against various problems. Nonetheless, they are not guranteed to be flawless and work in all cases.
For bugs, refactoring and improvements, feel free to file an issue or a pull request as contributions are always welcome.
Inspired from The Zen Of Python
Beautiful is better than ugly
Simple is way better than complex
Consistency matters
Flat is preferred over nested
Typing is better than incomprehensible macros
Because readability counts
But not as much as speed
Some documentation is better than no documentation
No documentation is better than extensive documentation
But not as important as ease of reusing as a black box
Four spaces are better than tabs
Tabs are better than no spaces
If the implementation is hard to explain, it's a bad idea
If the implementation is easy to explain, it may be a good idea
Namespaces are one honking great idea, let's do more of those!
- This is still a work in progress so I'll port more code from my template over the time
- Add stress tests, automated unit tests and integration tests
- Refactor and simplify old implementations
- Add practice problems
- Add a comprehensive index
The project is licensed under the MIT License