An open API service indexing awesome lists of open source software.

https://github.com/tomaslink/algorithmic

Collection of documented, well tested, clean and efficient pure python algorithms implementations to solve computational problems.
https://github.com/tomaslink/algorithmic

algorithmic-efficiency algorithms big-o clean-code complexity-analysis cracking-the-coding-interview data-structures interview-practice interview-questions problem-solving python recursion

Last synced: 3 months ago
JSON representation

Collection of documented, well tested, clean and efficient pure python algorithms implementations to solve computational problems.

Awesome Lists containing this project

README

          

algorithmic



Coverage
Python

[Cracking the Coding Interview, 6th Edition]: https://www.amazon.com/gp/product/0984782850/ref=as_li_ss_tl?ie=UTF8&tag=care01-20&linkCode=as2&camp=217145&creative098478285050tiveASIN=0984782850
[Zen of Python]: https://peps.python.org/pep-0020/

[Arrays and Strings]: docs/arrays-and-strings.md
[Linked Lists]: docs/linked-lists.md
[Stacks and Queues]: docs/stacks-and-queues.md

Collection of pure python algorithm implementations to solve computational problems.

The goal is for these implementations to be:
- Elegant (clean, short, easy to understand).
- Theoretically efficient.
- Well tested.
- Well documented.

## List of problems
- [Arrays and Strings]
- [Linked Lists]
- [Stacks and Queues]

**References**:
- The book [Cracking the Coding Interview, 6th Edition].

## Design principles

Some design principles taken into account (from the [Zen of Python]):
- Beautiful is better than ugly.
- Explicit is better than implicit.
- Simple is better than complex.
- Complex is better than complicated.
- Flat is better than nested.
- Sparse is better than dense.
- Readability counts.
- Errors should never pass silently.
- Unless explicitly silenced.
- There should be one-- and preferably only one --obvious way to do it.
- 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.