A collection of Data structures, Algorithms and interesting problems implemented in Python 3.
index.py acts as the main executable depending on your config. Best to import whatever you want and run it there 🏃
- Stacks
- Queues
- Linked Lists
- Binary Trees
- Graph Algorithms
- Dynamic Programming Classics
- KMP Search
- Find all paths to the bottom right cell of a matrix
- AVL Tree Insertion and Deletion
- Bellman Ford Shortest Paths Algorithm
- Binary Tree (Complete Implementation)
- Binary Search
- Counting Sort
- Fibonacci Series (DP vs Recursion)
- Fenwick Tree
- Find the next greater element of all elements in a given array in O(n)
- Find minimum sum which cannot be expressed using any of the elements of a given array
- Graph (Complete implementation)
- Heapsort
- Hello World (LOL)
- Insertion Sort
- Interpolation Search
- Kruskal Algorithm for finding the Minimum Spanning Tree in a Weighted Graph
- Linked List (Complete Implementation)
- Merge Sort
- N Queen Problem 👉 Wiki
- Given a string generate all possible Palindromic Partitions
- Prim's Algorithm for finding the Minimum Spanning Tree in a Weighted Graph
- Queue (Complete Implementation)
- QuickSort ❤️
- Rabin-Karp String Search
- Selection Sort
- Stack (Complete Implementation)
- Generate all permutations of a given String
- Tarjan's Algorithm for finding SCCs in a given Graph
- Tower of hanoi 🏯
- Trie
- Word Break Problem
- Z Algorithm for Substring Search
- Print all combinations of a string