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.
- Host: GitHub
- URL: https://github.com/tomaslink/algorithmic
- Owner: tomaslink
- License: mit
- Created: 2024-02-28T15:02:19.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-03-12T02:48:53.000Z (almost 2 years ago)
- Last Synced: 2024-03-12T19:26:00.197Z (almost 2 years ago)
- Topics: algorithmic-efficiency, algorithms, big-o, clean-code, complexity-analysis, cracking-the-coding-interview, data-structures, interview-practice, interview-questions, problem-solving, python, recursion
- Language: Python
- Homepage:
- Size: 54.7 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
algorithmic
[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.