Graph Algorithms
Last Updated :
19 Feb, 2025
Improve
Graph algorithms are methods used to manipulate and analyze graphs, solving various range of problems like finding the shortest path, cycles detection.
If you are looking for difficulty-wise list of problems, please refer to Graph Data Structure.
Basics
BFS and DFS
- Breadth First Traversal
- Depth First Traversal
- Difference between BFS and DFS
- Rotten Tomatoes
- Islands in a Graph
- Flood Fill
- Check for Bipartite
- Word Ladder
- Snakes and Ladder
- Water Jug problem
- Pacific Atlantic Water Flow
- Shortest Path in Binary Matrix
- Clone a Graph
- Transitive Closure of a Graph using DFS
Cycles
- Detect Cycle in a Directed Graph
- Detect cycle in an undirected graph
- Detect cycle in a direct graph using colors
- Detect a negative cycle in a Graph | (Bellman Ford)
- Cycles of length n in an undirected and connected graph
- Detecting negative cycle using Floyd Warshall
- Clone a Directed Acyclic Graph
- Union By Rank and Path Compression in Union-Find Algorithm
- Introduction to Disjoint Set Data Structure or Union-Find Algorithm
Shortest Path
- Dijkstra’s shortest path algorithm
- Bellman–Ford Algorithm
- Floyd Warshall Algorithm
- Johnson’s algorithm for All-pairs shortest paths
- Shortest Path in Directed Acyclic Graph
- Dial’s Algorithm
- Multistage Graph (Shortest Path)
- Shortest path in an unweighted graph
- Karp’s minimum mean (or average) weight cycle algorithm
- 0-1 BFS (Shortest Path in a Binary Weight Graph)
- Find minimum weight cycle in an undirected graph
Minimum Spanning Tree
- Prim’s Minimum Spanning Tree (MST)
- Kruskal’s Minimum Spanning Tree Algorithm
- Difference between Prim’s and Kruskal’s algorithm for MST
- Applications of Minimum Spanning Tree Problem
- Minimum cost to connect all cities
- Total number of Spanning Trees in a Graph
- Minimum Product Spanning Tree
- Reverse Delete Algorithm for Minimum Spanning Tree
- Boruvka’s algorithm for Minimum Spanning Tree
Topological Sorting
- Topological Sorting
- All topological sorts of a Directed Acyclic Graph
- Kahn’s Algorithm for Topological Sorting
- Maximum edges that can be added to DAG so that is remains DAG
- Longest Path in a Directed Acyclic Graph
- Topological Sort of a graph using departure time of vertex
- Find Itinerary from a given list of tickets
Connectivity in Graph
- Articulation Points (or Cut Vertices) in a Graph
- Biconnected Components
- Bridges in a graph
- Eulerian path and circuit
- Fleury’s Algorithm for printing Eulerian Path or Circuit
- Strongly Connected Components
- Count all possible walks from a source to a destination with exactly k edges
- Euler Circuit in a Directed Graph
- Length of shortest chain to reach the target word
- Find if an array of strings can be chained to form a circle
- Tarjan’s Algorithm to find strongly connected Components
- Paths to travel each nodes using each edge (Seven Bridges of Königsberg)
- Dynamic Connectivity | Set 1 (Incremental)
Maximum Flow in Graph
- Max Flow Problem Introduction
- Ford-Fulkerson Algorithm for Maximum Flow Problem
- Find maximum number of edge disjoint paths between two vertices
- Find minimum s-t cut in a flow network
- Maximum Bipartite Matching
- Channel Assignment Problem
- Introduction to Push Relabel Algorithm
- Karger’s Algorithm- Set 1- Introduction and Implementation
- Dinic’s algorithm for Maximum Flow
Some must do Problems
- Find length of the largest region in Boolean Matrix
- Count number of trees in a forest
- A Peterson Graph Problem
- Clone an Undirected Graph
- Graph Coloring (Introduction and Applications)
- Traveling Salesman Problem (TSP) Implementation
- Vertex Cover Problem | Set 1 (Introduction and Approximate Algorithm)
- K Centers Problem | Set 1 (Greedy Approximate Algorithm)
- Erdos Renyl Model (for generating Random Graphs)
- Chinese Postman or Route Inspection | Set 1 (introduction)
- Hierholzer’s Algorithm for directed graph
- Check whether a given graph is Bipartite or not
- Snake and Ladder Problem
- Boggle (Find all possible words in a board of characters)
- Hopcroft Karp Algorithm for Maximum Matching-Introduction
- Minimum Time to rot all oranges
- Construct a graph from given degrees of all vertices
- Determine whether a universal sink exists in a directed graph
- Number of sink nodes in a graph
- Two Clique Problem (Check if Graph can be divided in two Cliques)
Some Quizzes
- Quizzes on Graph Traversal
- Quizzes on Graph Shortest Path
- Quizzes on Graph Minimum Spanning Tree
- Quizzes on Graphs
Quick Links :
- Top 10 Interview Questions on Depth First Search (DFS)
- Some interesting shortest path questions
- Practice Problems on Graphs
- Videos on Graphs
Recommended: