Here is a repository of all the material I am learning with regards to algorithms and data structures.
Here's what I've implemented:
- Quick Sort
- Bubble Sort
- Merge Sort
- Linear Search
- Binary Search
- Linked List
- Queue
- Stack
- Set
- Hash Table
- Trees
- Graphs
- Graph DFS/BFS
Here's what I plan on implementing:
- Insertion Sort
- Selection Sort
- Radix Sort
- Heap Sort
- AVL Trees
- Red-Black Trees
- Self-Balancing Trees
- Max/Min Heaps
- Dijkstra's Algorithn
- Tries
- Minimum Spanning Trees
- Disjoint-Set Data Structrure and the Union Find Algorithm
- Greedy Algorithm Strategies
- Dynamic Programming Strategies
- Bellman-Ford Algorithm
- Kadane's Algorithm
- Floyd's Cycle Detection Algorithm
- Floyd-Warshall Algorithm
- Knuth-Morris-Pratt Algorithm
- Eulerian Path Algorithm
I've also wrote tests for each and every component I've implemented.
Clone the repo:
git clone https://github.com/rushigandhi/cs-playground.git
cd cs-playground
Add some tests in test_*.py
files
To test all files, navigate to the root folder and run:
pytest