Graph Theory Algorithms for Competitive Programming
Welcome to Graph Algorithms for Competitive Coding - the most detailed Specialisation in Graph Theory for Competitive Programmers, Software Engineers & Computer Science students! Graphs is quite an important topic for software engineers, both for academics & online competitions and for solving real life challenges.
More
Graph algorithms form the very fundamentals of many popular applications like - Google Maps, social media apps like Facebook, Instagram, Quora, LinkedIn, Computer Vision applications such as image segmentation, resolving dependencies while compile time, vehicle routing problems in supply chain and many more.
This course provides a detailed overview of Graph Theory algorithms in computer science, along with hands on implementation of all the algorithms in C++. Not just that you will get 80+ competitive coding questions, to practice & test your skills!
This comprehensive course is taught by Prateek Narang & Apaar Kamal, who are Software Engineers at Google and have taught over thousands of students in competitive programming over last 5+ years. This course is worth thousands of dollars, but Coding Minutes is providing you this course to you at a fraction of its original cost! This is action oriented course, we not just delve into theory but focus on the practical aspects by building implementing algorithms & solving problems. With over 95+ high quality video lectures, easy to understand explanations this is one of the most detailed and robust course for Graph Algorithms ever created.
Course starts very basics with how to store and represent graphs on a computer, and then dives into popular algorithms & 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
Trees
Articulation Points & Bridges
Network Flow
The part-II is recommended for programmers who want to deep dive into Competitive Programming & take part in contests. For most students part-I is good enough to understand the most fundamental concepts and techniques in graphs!
Watch Online Graph Theory Algorithms for Competitive Programming
# | Title | Duration |
---|---|---|
1 | Course Orientation! | 07:03 |
2 | Graphs Introduction | 12:05 |
3 | Graph Applications | 05:49 |
4 | Graph Key Terms | 09:08 |
5 | Adjacency List Representation | 08:43 |
6 | Adjacency List Representation with Node Class | 09:09 |
7 | Breadth First Search | 06:44 |
8 | BFS Code | 07:16 |
9 | BFS Shortest Path | 04:31 |
10 | BFS Shortest Path Code | 06:11 |
11 | Snakes and Ladder Solution | 08:25 |
12 | DFS Concept | 04:19 |
13 | DFS Code | 05:41 |
14 | Largest Island Solution | 12:31 |
15 | Cycle Detection in Undirected Graph | 03:35 |
16 | Cycle Detection in Undirected Graph Code | 08:59 |
17 | Directed Graph - Cycle Detection | 08:56 |
18 | Directed Graph - Cycle Detection Code | 12:47 |
19 | Bipartite Graph | 07:15 |
20 | Bipartite Graph Code | 12:26 |
21 | Directed Acyclic Graph & Topological Ordering | 04:35 |
22 | Topological Sort Algorithm | 04:51 |
23 | Topological Ordering BFS Code | 05:56 |
24 | Toplogical Order using DFS | 04:52 |
25 | Topological Ordering using DFS Code | 05:07 |
26 | Disjoint Set Union Introduction | 04:20 |
27 | DSU Data Structure - Union & Find Ops | 09:02 |
28 | DSU Data Structure | 07:07 |
29 | DSU Implementation | 13:17 |
30 | Union by Rank | 10:16 |
31 | Path Compression Optimisation | 08:39 |
32 | DSU Dry Run | 13:15 |
33 | Introduction to Minimum Spanning Trees! | 03:38 |
34 | Prim's Algorithm | 19:33 |
35 | Prim's Code | 18:43 |
36 | Kruskal's Algorithm | 08:59 |
37 | Kruskal's Code | 13:38 |
38 | Introduction to Shortest Path Algorithms | 07:53 |
39 | Dijkshtra's Algorithm | 09:12 |
40 | Dijkshtra's Algorithm Code | 14:55 |
41 | Bellman Ford Algorithm | 33:09 |
42 | Bellman Ford Code | 09:12 |
43 | Floyd Warshall | 29:35 |
44 | Floyd Warshall Code | 08:38 |
45 | Solution - Shortest Path in Grid! | 12:21 |
46 | Travelling Salesman Problem | 12:04 |
47 | Travelling Salesman Intution | 03:43 |
48 | TSP Brute Force | 12:26 |
49 | TSP DP + Bitmasking | 02:44 |
50 | Flood Fill Introduction | 05:32 |
51 | Number of Islands | 18:19 |
52 | Coloring Islands | 07:01 |
53 | Biggest Island | 03:30 |
54 | Make Largest island | 19:01 |
55 | Introduction to Multi Source BFS | 12:12 |
56 | Problem on Multi Source BFS | 19:46 |
57 | Bonus Problem on Multi Source BFS | 15:51 |
58 | 0/1 BFS | 07:41 |
59 | Introduction to DFS tree and Backedges | 09:07 |
60 | DFS Tree and backedges in Undirected graph | 16:41 |
61 | DFS Tree and Backedges in Directed and Undirectde graphs | 23:12 |
62 | Print cycle in a graph | 10:04 |
63 | Introduction and definitions | 12:27 |
64 | Discovered Time | 11:33 |
65 | Lowest Time or Low Link | 24:48 |
66 | Algorithm | 19:20 |
67 | Coding the Algorithm | 17:18 |
68 | Introduction to Topological Order and Strongly Connected Components | 18:42 |
69 | Algorithm and Code to find Topological Ordering | 20:43 |
70 | Introduction to Strongly Connected Component | 09:51 |
71 | Condensed Component Graph | 12:51 |
72 | Kosaraju Algorithm for Strongly Connected Component | 30:06 |
73 | Kosaraju Algorithm for Strongly Connected Component Code | 11:47 |
74 | Introduction and properties of trees | 24:27 |
75 | DFS on trees | 08:03 |
76 | Print all ancestors in a tree | 08:36 |
77 | Introduction | 11:24 |
78 | Applications | 21:51 |
79 | Code | 13:04 |
80 | Introduction | 12:37 |
81 | LCA (Brute Force) | 16:12 |
82 | LCA using Binary Lifting | 38:43 |
83 | Introduction and brute force | 15:52 |
84 | Approach to re root the tree | 20:21 |
85 | Code for re rooting of the tree | 11:13 |
86 | Introduction to Network | 04:13 |
87 | Introduction to Maximum Flow in a Network | 08:40 |
88 | Residual Networks and Augmenting Paths | 26:27 |
89 | Ford-Fulkerson and Edmond-Karp Algorithm | 26:24 |
90 | Dinic's Algorithm | 25:19 |
91 | Dinic's Algorithm Code | 33:21 |
92 | Applications of Max Flow as Maximum Bipartite Matching | 23:36 |
93 | Board Game | 12:12 |
94 | Board Game Code | 19:31 |