Graph Theory and it's Algorithms for Competitive Programming

Hey All, Welcome to the Graph Theory Problem Solving Community. Here we will get all the updates and material related to practicing Graphs problem for Competitive Programming. To master the graph problem-solving capabilities we will be starting from the basics and proceeds to the advanced concept.

All information related to the different session will be provided here and all will be linked to a particular article which includes all the information with editorials for the problem that we have discussed in that session.

Why we should join this strategy and what benefits do we get:

  • Network formation of Competitive Programmers.
  • Shared problem solving and learning.
  • Someone will always be there to help you through the comment section of the particular session page.
  • It will be like a different level game and before completing the problem of the first level you will not able to solve the problem of the next label in most cases.
  • All the problems which will be discussed here will be in an incremental way.
  • Every day a new problem set will be released to learn and practice and awesome solution/hint from fellow programmers for the previous to previous session (ie. we get 2 days to solve the problem ourselves or to discuss and solve) will be released at 9:00 PM.
  • 5 problems will be discussed in every Session.
  • At the end of the level, we will be an expert in covered concept Problem Solving.
"If you have some problem to be fit in ongoing Level then please send it at"

All the Required Learning Resources are provided with Problem Set. So that you can study first and then attempt the problems.

1. From today the article will be released at 9:00 PM

      Let's begin the Game

      { Level - 1 }
      In this level of the game, we will be exploring Graph Representation, Depth First Search, Tree Traversal, and their various application.
      • Graph Theory Basic
        • Session 1: Introduction to Graph Theory
        • Session 2: Graph Representation, Implementation in C++, and Problems related to this.
        • Session 3: Graph Traversal, Depth First Search ( DFS ) Algorithm, Breadth-First Search ( BFS ) Algorithm, and Basic Problems.
      • Application of DFS
        • Session 4: Connected Component, Articulation Points, Bridges, and Problems.
        • Session 5: Cycle Detection in Graph using DFS and Practice Problems.
      • Application of BFS
        • Session 6: Connected Component, Cycle Detection, and Problems.
      • Tree Algorithms
        • Session 7: Different types of tree Traversal, Diagonal of a Tree, All longest Paths, Counting number of nodes in the Subtree, and Problems.

      { Level - 2 }
      In this level, we will be exploring Shortest Path,  Minimum Spanning Tree Algorithms, and Problems related to this.

      • Shortest Path
        • Session 8: Introduction to Shortest Path, Bellman-Ford Algorithm, and Problems.
        • Session 9: Dijkstra Algorithm, and Problems.
        • Session 10: Finding all Pair Shortest Path in Graph using Floyd Warshall Algorithm, and Problems.
      • Minimum Spanning Tree
        • Session 11: Introduction to Spanning Trees, Minimum Spanning Trees, Kruskal's Algorithm, and Problems.
        • Session 12: Prim's Algorithm, and Problems.
      { Level - 3 }
      In this level, we will be exploring Algorithms related to Directed Graphs such as Strongly Connected Component,  Kosaraju's Algorithm, Topological Sort, Counting number of Paths, Extended Dijkstra Algorithm, Successor Paths, Cycle Detection.

      { Level - 4 }
      At this level, we will be exploring Tree Queries such as Finding Ancestors, Subtrees and Paths, Subtree Queries, Path Queries, Lowest Common Ancestors, Distance of Nodes, and Problems.
        • Tree Queries ( Coming Soon ... )
          • Session 17: Finding k-th Ancestors and Problems.
          • Session 18: Subtree Queries, Path Queries, and Problems.
          • Session 19: Lowest Common Ancestors, and Problems.

        { Level - 5 }
        In this level, we will be exploring about Paths and Circuits such as Eulerian Path, Eulerian Circuit, Hierholzer's Algorithm, Hamiltonian's Paths, De Bruijn's Sequences, Knight's Tour, Warndorf's Rule

        { Level - 6 }
        In this level, we will be exploring about Flow and Cuts,  Maximum Flow, Minimum Cut, Ford-Fulkerson Algorithm, Edmond's Karp Algorithm, Disjoint Paths, Maximum Matchings, Bipartite Graphs and 2 Colourable, Hall's Theorem, Konig's Theorem, Path Covers.

        { Level - 7 }
        In this level, we will be exploring some of the Miscellaneous Topics and Problems.

        -------------------- X--------------------

        As we move on different sessions will be added in the upcoming levels, this is just for reference that how we will be covering the whole of the Graph Theory from basic to advanced and help each other in Learning.

        Looking forward to your Help.
        Thank You
        With 💙 by CODELABS3277