1. Graph Basics
- Representing Graphs Using Adjacency Matrix
- Representing Graphs Using Adjacency List
- Implementing a Graph Using an Edge List
- Implementing Depth-First Search (DFS)
- Implementing Breadth-First Search (BFS)
- Checking if a Graph is Connected (Undirected)
- Counting Connected Components in an Undirected Graph
- Checking if a Graph is Bipartite (DFS and BFS)
- Detecting Cycle in an Undirected Graph (DFS and BFS)
- Detecting Cycle in a Directed Graph (DFS and BFS)
2. Shortest Path Algorithms
- Dijkstra’s Algorithm
- Bellman-Ford Algorithm
- Floyd-Warshall Algorithm
- Shortest Path in a Grid (BFS)
- Shortest Path in a Weighted Graph (Using Priority Queue)
- 0-1 BFS for Shortest Path in a Binary Graph
- Shortest Path in a Directed Acyclic Graph (DAG)