/IADS_algorithms

A collection of algorithms and datastructures introduced during UoE's Introduction to Datastructures and Algorithms class.

Primary LanguagePython

IADS 2021-22 Algorithm and Data structure collection

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)

Furthermore, an implementation for the Max-Heap presented in the lectures can be found here: https://github.com/when-q/Heap

Dependancies.

We use poetry for dependancy management, however the only package in use at the moment is pandas. Make sure to install it if you want CYK to work!