This repo contains C++ implementations of common algorithms and data structures, grouped by topics. The list will be sporadically updated.
Undirected Graphs
- Bipartiteness testing
- Connected components
- Articulation points and bridges: Tarjan's Algorithm
- Minimum spanning trees: Prim's Algorithm
- Minimum spanning trees: Kruskal's Algorithm
- Maximum spacing k-clustering
Directed Graphs
- Topological sorting
- Strongly connected components: Kosaraju's Algorithm and Tarjan's Algorithm
- Shortest paths: Dijkstra's Algorithm
- (Trees) Lowest common ancestor: Tarjan's Offline Algorithm