Python Data Structures and Algorithms (PYDSA) is a collection of my own solutions with time and space complexity analysis of practical algorithms and data structures.
- Python 3x
- Creativity, persistence and patience.
There isn't a live demo for this project.
You need Python 3x installed.
$ git clone https://github.com/adriaanbd/pydsa.git
$ cd pydsa
Each algorithm has its own directory and its unit tests are provided from within that directory.
For instance, running the tests for active_directory.py
:
$ python active_directory/active_directory.py
True
True
True
True
Adding a test framework like unittest
or pytest
is something that'll be added in the future.
Name | Description | Link |
---|---|---|
Active Directory | Provide an efficient lookup of whether a user is in a group. A group could consist of both user(s) and group(s). | See here |
Blockchain | This is a basic blockchain implementation using a Block class and a Chain class | See here |
Find Files | Find all files with a specific suffix under a target directory |
See here |
Huffman Coding | "[...] Type of optimal prefix code that is commonly used for lossless data compression. The process of finding or using such a code proceeds by means of Huffman coding [...]" - from Wikipedia | See here |
LRU Cache | LRU Cache implementation of get and set operations in constant time O(1) |
See here |
Union Intersection | Union and intersection method to be used on a LinkedList |
See here |
Contributions, issues and feature requests are welcome!
Feel free to check the issues page.
This project was created with the purpose to submit my project for Part II of Udacity's Data Structures and Algorithms Nanodegree, Show Me The Data Structures. Going forward, I'll be including my solutions to algorithms that I find of practical use, using the same format.