Welcome to the Graph Algorithms for Competitive Coding course - an extensive specialisation in Graph Theory designed for Competitive Programmers, Software Engineers, and Computer Science students. Graphs are a highly important topic for software engineers, applicable in both academic settings and online competitions, as well as in solving real-life challenges.
Graph algorithms are the building blocks of numerous popular applications, such as Google Maps, social media platforms like Facebook, Instagram, Quora, LinkedIn, as well as in computer vision applications for image segmentation, resolving dependencies during compile time, and vehicle routing problems in supply chains, among others.
This course offers a comprehensive overview of graph theory algorithms in computer science, coupled with hands-on implementation of these algorithms using C++. Additionally, you will have access to 80+ competitive coding questions to practice and test your skills!
This in-depth course is conducted by Prateek Narang & Apaar Kamal, both of whom are Software Engineers at Google and have been teaching thousands of students in competitive programming over the last 5+ years. Despite being worth thousands of dollars, Coding Minutes offers this course at a fraction of its original cost. This is an action-oriented course focused on both theoretical and practical aspects by implementing algorithms & solving problems. With over 95+ high-quality video lectures and easy-to-understand explanations, this is one of the most detailed and robust courses for Graph Algorithms available.
Course Overview and Structure
The course starts with the basics, covering how to store and represent graphs on a computer, before delving into popular algorithms and techniques for problem-solving. The course is divided into two parts:
Part I: Graph Theory Essentials
Graph Representations
Popular Traversals - BFS & DFS
Cycle Detection - Weighted & Unweighted Graphs
Topological Ordering & Directed Acyclic Graphs
Disjoint Set Union, Path Compression & Union by Rank
Minimum Spanning Trees - Prim's & Kruskal's
Shortest Paths - BFS, Dijkstra's, Bellman Ford, Floyd Warshall
Travelling Salesman Problem, Min Cost Hamiltonian Cycle
Part II: Graph Theory Advanced
Flood Fill
Multisource BFS
DFS & Backedges
SCC's & Kosaraju's Algorithm
Euler Tour
LCA (Lowest Common Ancestor)
Trees
Articulation Points & Bridges
Network Flow
Part II is recommended for programmers who wish to immerse themselves deeply in Competitive Programming and participate in contests. However, for most students, Part I is sufficient to grasp the core concepts and techniques in graph theory.