To contribute please make a new branch and make a pull request! Code will only be accepted in python, and please make sure to use type annotations when possible. Current algorithms and data structures in repo:
- Bubble Sort
- Insertion Sort
- Merge Sort
- Heap Sort
- Quick Sort
- BFS
- DFS
- Dijkstra (borrowed from https://stackabuse.com/dijkstras-algorithm-in-python/)
- Floyd-Warshall (Including backtracking)
- Seam-Carving
- Coin Counting
- Viterbi Algorithm (Including backtracking)
- Edit Distance (with string reconstruct borrowed from published solution)
- CYK
- LL(1)
- Max-Heap (with basic visualisation) An additional implementation for the Max-Heap presented in the lectures can be found here: https://github.com/when-q/Heap
We use poetry for dependancy management, please make sure to use it, as otherwise you could be in dependancy hell! Current dependancies are:
- python = "^3.8"
- pandas = "^1.4.2"
- networkx = "^2.8"
- matplotlib = "^3.5.2"
- pydot = "^1.4.2"