This course provides students with a comprehensive and in-depth analysis of the algorithms used in computer science, with a specific focus on Graph Theory.
Through a series of informative videos, students will gain a thorough understanding of the diverse range of algorithms employed in this field of study. The course covers key areas such as the fundamentals of graph theory, graph traversal algorithms, shortest path algorithms, and graph coloring algorithms.
By delving into these topics, students will develop a solid foundation in graph theory and its associated algorithms.
Graph Representation and Storage
Techniques for storing and representing graphs in a computer system.
Common Graph Theory Problems
Real-world graph theory problems encountered in various applications.
Graph Traversal Algorithms
Exploration of well-known graph traversal algorithms such as Depth-First Search (DFS) and Breadth-First Search (BFS).
Dijkstra's Shortest Path Algorithm
Detailed exploration of both the lazy and eager versions of Dijkstra's shortest path algorithm.
Topological Sort
Understanding the concept of topological sort, methods for finding one, and its practical applications.
Detecting Negative Cycles and Finding Shortest Paths
Learning about the detection of negative cycles and the process of finding shortest paths using the Bellman-Ford and Floyd-Warshall algorithms.
Bridges and Articulation Points in Graphs
Discovering the identification of bridges and articulation points within graphs.
Strongly Connected Components
Understanding and detecting strongly connected components using Tarjan's algorithm.
Solving the Traveling Salesman Problem
Application of dynamic programming to solve the traveling salesman problem.
This course equips learners with a thorough understanding of these fundamental graph theory concepts and algorithms, preparing them for practical implementation in computer science.
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
- 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).