Skip to content
/ PyDSA Public

A collection of data structures and algorithms implemented in Python.

License

Notifications You must be signed in to change notification settings

jaredliw/PyDSA

Repository files navigation

PyDSA (Data Structures and Algorithms in Python)

GitHub Workflow Status Lines of code GitHub repo size GitHub license

🎉 🎉 Documentation page is up now! 🎉 🎉

A collection of data structures and algorithms implemented in Python. The main aim of this project is to help python learners in understanding DSA and apply them in problem-solving as well as in competitive programming.

This project is currently underdeveloped. This project may be published to PyPI when it is mature. Feel free to fork this project and make it better.

Structure Tree

Algorithms
  • Functions
    • Ackermann-Peter Function
  • Number Theory
    • Greatest Common Factor (GCD)
    • Lowest Common Multiple (LCM)
    • Primality Test
    • Wilson's Theorem
  • Searching
    • Binary Search
    • Exponential Search
    • Fibonacci Search
    • Interpolation Search
    • Jump Search
    • Linear Search
    • Ternary Search
  • Sequences
    • Fibonacci Sequence
  • Sorting
    • is_sorted
    • Bead Sort
    • Bogobogosort
    • Bogosort
    • Bozosort
    • Bucket Sort
    • Bubble Sort
    • Cocktail Sort
    • Comb Sort
    • Counting Sort
    • Gnome Sort
    • Insertion Sort
    • Merge Sort
    • Odd-even Sort
    • Pigeonhole Sort
    • Proxmap Sort
    • Quicksort
    • Radix Sort (LSD/MSD)
    • Selection Sort
    • Sleep Sort
    • Slowsort
    • Stooge Sort
    • Worstsort
  • String
    • is_pangram
Data Structures

Requirements and dependencies

Minimum required version for Python is Python 3.7. Python 2 is NOT supported.

For more details, please read requirements.txt

Installation

git clone https://github.com/jaredliw/PyDSA.git

or directly download ZIP.

Afterwards, install all dependencies by running the command:

pip install -r requirements.txt

License

Released under the terms of MIT License.

Sponsorship

If you would like to make a monetary contribution to this repository, kindly contact me via jaredliw@gmail.com. Thank you!