Skip to content

Latest commit

 

History

History
69 lines (65 loc) · 1.82 KB

File metadata and controls

69 lines (65 loc) · 1.82 KB

List of graph-related topics in competitive programming, organized from basic to advanced:

Basic Graph Concepts:

  1. Graph Representation
    • Adjacency Matrix
    • Adjacency List
  2. Graph Traversal
    • Depth-First Search (DFS)
    • Breadth-First Search (BFS)

Intermediate Graph Algorithms:

  1. Shortest Path Algorithms
    • Dijkstra's Algorithm
    • Bellman-Ford Algorithm
  2. Minimum Spanning Tree (MST)
    • Kruskal's Algorithm
    • Prim's Algorithm
  3. Union-Find / Disjoint Set Union (DSU)
    • Path Compression
    • Union by Rank/Size
  4. Topological Sorting
  5. Strongly Connected Components (SCC)
    • Kosaraju's Algorithm
    • Tarjan's Algorithm
  6. Cycle Detection
    • In Directed Graphs
    • In Undirected Graphs

Advanced Graph Algorithms:

  1. Flow Algorithms
    • Ford-Fulkerson Method
    • Edmonds-Karp Algorithm
    • Dinic's Algorithm
  2. Matching Algorithms
    • Bipartite Matching
    • Hopcroft-Karp Algorithm
  3. Eulerian Path and Circuit
    • Hierholzer's Algorithm
  4. Hamiltonian Path and Circuit
    • Backtracking
    • Dynamic Programming Approach
  5. Network Flow
    • Min-Cost Max-Flow
  6. Graph Coloring
    • Greedy Coloring
    • Backtracking
    • Bipartite Check
  7. Planarity Testing
  8. LCA (Lowest Common Ancestor)
    • Binary Lifting
    • Euler Tour Technique
  9. Tree Algorithms
    • Tree Diameter
    • Centroid Decomposition
    • Heavy-Light Decomposition
  10. 2-SAT Problem
  11. Articulation Points and Bridges
  12. Graph Isomorphism

Specialized Topics:

  1. Suffix Tree and Suffix Array
  2. Persistent Data Structures in Graphs
  3. Dynamic Graph Algorithms
    • Dynamic Connectivity
    • Dynamic MST
  4. Expander Graphs
  5. Graph Compression Techniques
    • Heavy Path Decomposition
    • Tree Decomposition