Implementations of some Data Structures, with different approaches and some practical applications. Designed to be used as consulting material for those who want to learn about Data Structures and Algorithms and have a preference for the Python programming language.
Here is a checklist of the Data Structures and Algorithms we have or we are planning to add. If you would like to add more to the checklist, just create a Pull Request with your additions and we will review it.
- Bubble Sort
- Heap Sort
- Merge Sort
- Quick Sort
- Insertion Sort
- Selection Sort
- Radix Sort
- Counting Sort
- Shell Sort
- Bogo Sort
- Tim Sort
- Gnome Sort
- Linear Search
- Binary Search
- Ternary Search
- Knuth-Morris-Pratt
- Naive
- Manacher
- Z-Function
- Greatest Common Divisor
- Extended Greatest Common Divisor
- Euler's Phi Function
- Eratosthenes Sieve
- Miller-Rabin
- Modular Arithmetics
- Gauss
- Simplex
- Simpson
- Fast Fourier Transform
- Breadth-First Search
- Depth-First Search
We would love to see you contribute to this project. No matter if it is fixing a bug, adding some tests, improving documentation, or implementing new algorithms and data structures. See CONTRIBUTING.md so you can have a better understanding of our contribution guidelines.