Graph theory algorithms are an important computer science concept with a bunch of real-world applications. This 7-hour video course from Google software engineer William Fiset provides a complete introduction to Graph Theory algorithms. Knowledge of how to create and design excellent algorithms is an essential skill required in becoming a great programmer.

You will learn how many important algorithms work. The algorithms are accompanied by working source code in Java to solidify your understanding.

Here are some things you'll learn about in this course:

  • 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
  • how to detect negative cycles and find shortest paths with the Bellman-Ford and Floyd-Warshall algorithms
  • how to discover bridges and articulation points in graphs
  • how to detect strongly connected components with Tarjan's algorithm
  • how to solve the traveling salesman problem with dynamic programming

Watch the full course below or on the YouTube channel (7 hour watch).