This repository contains implementations of most relevant algorithms that are covered in the course "Algorithmen und Datenstrukturen" at ETH Zurich (based on the content of the autumn semester 2020):
- Heapsort
- Mergesort
- Quicksort
- DFS
- BFS
- Dijkstra
- Bellman-Ford
- Floyd-Warshall
- Binary Search Tree
- Max-Heap
- Prim
- Kruskal
- Union Find (used for Kruskal)
- Knapsack
- One constraint, bounded
- One constraint, unbounded
- Two constraints, bounded
- Two constraints, unbounded
- Longest Common Subsequence
- Longest Increasing Subsequence
- Edit distance
- Binary Search
The implementations are meant to work standalone and are optimised for readability, not conciseness. I give no guarantees that the implementations are correct, however I've tested nearly all of them at some point.