Graph Theory Algorithms

Last updated 5/2022 English

A complete overview of graph theory algorithms in computer science and mathematics.

This course provides a complete introduction to Graph Theory algorithms in computer science.

Topics covered in these videos include:

  1. How to store and represent graphs on a computer
  2. Common graph theory problems seen in the wild
  3. Famous graph traversal algorithms (DFS & BFS)
  4. Dijkstra's shortest path algorithm (both the lazy and eager version)
  5. What a topological sort is, how to find one, and places it's used
  6. Learning about detecting negative cycles and finding shortest paths with the Bellman-Ford and Floyd-Warshall algorithms
  7. Discovering bridges and articulation points in graphs
  8. 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!

  1. The algorithms are illustrated very well with good graphics ~ Shishir V
  2. Very complete and detailed refresher of Graph Theory, lots of practical examples ~ C Salazar
  3. It was awesome. I gained confidence after going through concepts on Graphs theory. Difficult concepts were explained in very lucid way ~ A Natarajan
  4. Everything was covered exceptionally well and I found this course incredibly useful ~ Pranchal N
  5. This was amazing, and motivating. Your course helped me to get back into learning algorithms that I had always considered too difficult to understand ~ Manojkumar M
  6. Great course that explains the theory with visual examples of the different algorithms. Also, examples of coding each of the different algorithms and usages ~ J Agudelo
  7. Great teacher, has the ability to explain complex graph theory really well. William, I'm looking forward to Dynamic Programming series. You should definitely do more of these! ~ Karthik R
  8. Great course, William did a great job collecting many Graph Algorithms and explaining them by visual examples, if you're not comfortable learning code from screen this can be hard for you, otherwise you won't find a better explanation of Graph theory online ~ I Halouane
  9. I took this course to learn about Graph theory. But I have a feeling now that i can master this. Everything explained here in so intuitive way that those who hate it will fall in love with Graph theory ~ M Irshad
What you'll learn
  1. Storage and representation of graphs (networks) on a computer
  2. Common graph theory problems
  3. Breadth first search algorithm
  4. Depth first search algorithm
  5. Various tree algorithms including: the height or a tree, finding the center of a tree, rooting a tree, and etc...
  6. Dijkstra's algorithm
  7. Topological sort algorithm
  8. Shortest/longest path on an acyclic graph
  9. Bellman-Ford's algorithm
  10. Floyd-Warshall all pairs shortest path algorithm
  11. Finding bridges/articulation points
  12. Finding strongly connected components (Tarjan's)
  13. Travelling salesman problem (TSP)
  14. How to find the maximum flow of a flow graph
  15. Finding bipartite graph matchings
  16. Various network flow algorithms including: Edmonds-Karp, Capacity Scaling, and Dinic's algorithm
  17. Kruskal's Minimum Spanning Tree algorithm
  18. The Lowest Common Ancestor (LCA) Problem

Exposure to computer science fundamentals (e.g: data structures, recursion, classes, OOP).

Course Content
5 Sections 46 Lectures 9h 3m total length