🎉 🎉 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.
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
- Node
-
List
- Dynamic List
- Static List
-
Linked List
- Singly Linked List
- Double Linked List
Minimum required version for Python is Python 3.7. Python 2 is NOT supported.
For more details, please read requirements.txt
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
Released under the terms of MIT License.
If you would like to make a monetary contribution to this repository, kindly contact me via jaredliw@gmail.com. Thank you!