Graph Theory Algorithms
A complete overview of graph theory algorithms in computer science and mathematics.
What you’ll learn
- Storage and representation of graphs (networks) on a computer
- Common graph theory problems
- Breadth first search algorithm
- Depth first search algorithm
- Various tree algorithms including: the height or a tree, finding the center of a tree, rooting a tree, and etc…
- Dijkstra’s algorithm
- Topological sort algorithm
- Shortest/longest path on a acyclic graph
- Bellman Ford’s algorithm
- Floyd-Warshall all pairs shortest path algorithm
- Finding bridges/articulation points
- Finding strongly connected components (Tarjan’s)
- Travelling salesman problem (TSP)
- How to find the maximum flow of a flow graph
- Finding bipartite graph matchings
- Various network flow algorithms including: Edmonds-Karp, Capacity Scaling, and Dinic’s algorithm
- Kruskal’s Minimum Spanning Tree algorithm
- The Lowest Common Ancestor (LCA) Problem
- Exposure to computer science fundamentals (e.g: data structures, recursion, classes, OOP)
This course provides a complete introduction to Graph Theory algorithms in computer science.
Topics covered in these videos include: how to store and represent graphs on a computer; common graph theory problems seen in the wild; famous graph traversal algorithms (DFS & BFS); Dijkstra’s shortest path algorithm (both the lazy and eager version); what a topological sort is, how to find one, and places it’s used; learning about detecting negative cycles and finding shortest paths with the Bellman-Ford and Floyd-Warshall algorithms; discovering bridges and articulation points in graphs; understanding and detecting strongly connected components with Tarjan’s algorithm, and finally solving the traveling salesman problem with dynamic programming.
Who this course is for:
- Anybody ready for a deep dive into graph theory!