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!
- The algorithms are illustrated very well with good graphics ~ Shishir V
- Very complete and detailed refresher of Graph Theory, lots of practical examples ~ C Salazar
- It was awesome. I gained confidence after going through concepts on Graphs theory. Difficult concepts were explained in very lucid way ~ A Natarajan
- Everything was covered exceptionally well and I found this course incredibly useful ~ Pranchal N
- 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
- 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
- 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
- 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
- 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
- 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 an 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).