Disclosure: when you buy through links on our site, we may earn an affiliate commission.

Graph Theory Algorithms

A complete overview of graph theory algorithms in computer science and mathematics.
(1,558 reviews)
35,902 students
Created by


CourseMarks Score®







Platform: Udemy
Video: 9h 2m
Language: English
Next start: On Demand

Table of contents


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.

You will 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 is for

• Anybody ready for a deep dive into graph theory!
Google engineer; ACM-ICPC world finalist
My name is William, I am a software engineer for Google Maps stationed in Mountain View California. I am a former ACM-ICPC world finalist and avid problem solver looking to share my knowledge of computer programming and problem-solving.
I teach courses on Udemy because there exists a need to create high quality content about complex topics in computer science. The areas I focus on are data structures and algorithms; together they are the most important topics to master on the road to becoming an exemplary software engineer. Consider enrolling in one or more of the courses I have developed; they are designed for everyone, whether you are a beginner or advanced.

Yours sincerely,

Browse all courses by on Coursemarks.
Platform: Udemy
Video: 9h 2m
Language: English
Next start: On Demand

Students are also interested in