Introduction, DFS and BFS:

  1. Graph and its representations
  2. Breadth First Traversal for a Graph
  3. Depth First Traversal for a Graph
  4. Applications of Depth First Search
  5. Applications of Breadth First Traversal
  6. Longest Path in a Directed Acyclic Graph
  7. Find Mother Vertex in a Graph
  8. Transitive Closure of a Graph using DFS
  9. Find K cores of an undirected Graph
  10. Iterative Depth First Search
  11. Iterative Deepening Search(IDS) or Iterative Deepening Depth First Search(IDDFS)

Graph Cycle:

  1. Detect Cycle in a Directed Graph
  2. Detect Cycle in a an Undirected Graph
  3. Detect cycle in an undirected graph
  4. Detect cycle in a direct graph using colors
  5. Assign directions to edges so that the directed graph remains acyclic


Topological Sorting:

  1. Topological Sorting
  2. All topological sorts of a Directed Acyclic Graph
  3. Kahn’s Algorithm for Topological Sorting

Minimum Spanning Tree:

  1. Prim’s Minimum Spanning Tree (MST))
  2. Applications of Minimum Spanning Tree Problem
  3. Prim’s MST for Adjacency List Representation
  4. Kruskal’s Minimum Spanning Tree Algorithm
  5. Boruvka’s algorithm for Minimum Spanning Tree
  6. Steiner Tree


  1. Find if there is a path of more than k length from a source
  2. Tug of War
  3. The Knight-Tour Problem
  4. Rat in a Maze
  5. n-Queen’s Problem
  6. m Coloring Problem
  7. Hamiltonian Cycle

Shortest Paths:

  1. Dijkstra’s shortest path algorithm
  2. Dijkstra’s Algorithm for Adjacency List Representation
  3. Bellman–Ford Algorithm
  4. Floyd Warshall Algorithm
  5. Johnson’s algorithm for All-pairs shortest paths
  6. Shortest Path in Directed Acyclic Graph
  7. Some interesting shortest path questions,
  8. Shortest path with exactly k edges in a directed and weighted graph
  9. Dial’s Algorithm
  10. Printing paths in Dijsktra’s Algorithm
  11. Shortest path of a weighted graph where weight is 1 or 2


  1. Find if there is a path between two vertices in a directed graph
  2. Connectivity in a directed graph
  3. Articulation Points (or Cut Vertices) in a Graph
  4. Biconnected graph
  5. Bridges in a graph
  6. Eulerian path and circuit
  7. Fleury’s Algorithm for printing Eulerian Path or Circuit
  8. Strongly Connected Components
  9. Transitive closure of a graph
  10. Find the number of islands
  11. Count all possible walks from a source to a destination with exactly k edges
  12. Euler Circuit in a Directed Graph
  13. Biconnected Components
  14. Check if a given graph is tree or not
  15. Karger’s algorithm for Minimum Cut
  16. Find if there is a path of more than k length
  17. Length of shortest chain to reach the target word
  18. Print all paths from a given source to destination
  19. Find minimum cost to reach destination using train
  20. Tarjan’s Algorithm to find strongly connected Components

Hard Problems:

  1. Graph Coloring (Introduction and Applications)
  2. Greedy Algorithm for Graph Coloring
  3. Travelling Salesman Problem (Naive and Dynamic Programming)
  4. Travelling Salesman Problem (Approximate using MST)
  5. Hamiltonian Cycle
  6. Vertex Cover Problem | Set 1 (Introduction and Approximate Algorithm)
  7. K Centers Problem | Set 1 (Greedy Approximate Algorithm)

Maximum Flow:

  1. Ford-Fulkerson Algorithm for Maximum Flow Problem
  2. Find maximum number of edge disjoint paths between two vertices
  3. Find minimum s-t cut in a flow network
  4. Maximum Bipartite Matching
  5. Channel Assignment Problem
  6. Push Relabel- Set 1-Introduction
  7. Push Relabel- Set 2- Implementation
  8. Karger’s Algorithm- Set 1- Introduction and Implementation
  9. Karger’s Algorithm- Set 2 – Analysis and Applications

STL Implementation of Algorithms

  1. Kruskal’s Minimum Spanning Tree using STL in C++
  2. Prim’s Algorithm using Priority Queue STL
  3. Dijkstra’s Shortest Path Algorithm using STL
  4. Dijkstra’s Shortest Path Algorithm using set in STL


  1. Number of triangles in an undirected Graph
  2. Number of triangles in directed and undirected Graph
  3. Check whether a given graph is Bipartite or not
  4. Snake and Ladder Problem
  5. Minimize Cash Flow among a given set of friends who have borrowed money from each other
  6. Boggle (Find all possible words in a board of characters)
  7. Hopcroft Karp Algorithm for Maximum Matching-Introduction
  8. Hopcroft Karp Algorithm for Maximum Matching-Implementation
  9. Minimum Time to rot all oranges
  10. Find same contents in a list of contacts
  11. Optimal read list for a given number of days
  12. Print all jumping numbers smaller than or equal to a given value

Quizzes on Graph Traversals , Graph Shortest Paths , Graph Minimum Spanning Tree

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

Company Wise Coding Practice    Topic Wise Coding Practice