Graph Theory Algorithms for Competitive Programming

20h 12m 42s
English
Paid
November 22, 2023

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

Join premium to watch
Go to premium
# 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

Similar courses to Graph Theory Algorithms for Competitive Programming

Ultimate C++ Part 2: Intermediate

Ultimate C++ Part 2: Intermediate

Duration 3 hours 37 minutes 48 seconds
Ultimate C++ Part 3: Advanced

Ultimate C++ Part 3: Advanced

Duration 3 hours 41 minutes 57 seconds
Ultimate C++ Part 1: Fundamentals

Ultimate C++ Part 1: Fundamentals

Duration 3 hours 52 minutes 48 seconds