Skip to content

adriaanbd/pydsa

Repository files navigation

PYDSA

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.

Cover Image

Built With

  • Python 3x
  • Creativity, persistence and patience.

Live Demo

There isn't a live demo for this project.

Getting Started

Prerequisites

You need Python 3x installed.

Setup

$ git clone https://github.com/adriaanbd/pydsa.git
$ cd pydsa

Run tests

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.

Content

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

Author

Adriaan Beiertz

Contributing

Contributions, issues and feature requests are welcome!

Feel free to check the issues page.

Acknowledgements

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.

About

Practical Python Data Structures and Algorithms

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages