This repository consists of Graph problems which are implemented using Java.
- Adjacency matrix creation (Normal case)
- Adjacency matrix creation (Weight case with single edge between the nodes)
- Adjacency matrix creation (Weight case with multiple edge between the nodes)
- Adjacency List creation (normal case)
- Adjacency list creation (with weights)
- BFS traversal
- DFS traversal
- Cycle detection in undirected graph using BFS
- Cycle detection in undirected graph using DFS
- Check Bipartite graph using BFS
- Check Bipartite graph using DFS
- Cycle detection in directed graph using DFS
- Topological sort using DFS
- Topological sort using BFS (Kahn's Algorithm)
- Cycle detection in directed graph using BFS (Kahn's Algorithm)
- Number of islands (Leetcode-200 : https://leetcode.com/problems/number-of-islands/)
- Shortest path in undirected graph with unit weights
- Shortest path in weighted DAG(Directed Acyclic Graph)
- Dijkstra's Algorithm (Shortest path in undirected graph)
- Prim's algorithm (Brute force & Optimised approach) for MST
- Disjoint set data structure implementation (will use in Kruskal's algorithm)
- Kruskal's algorithm for MST
- Bridges (Cut edges) in graph
- Articulation point in a graph
- Kosaraju's Algorithm (for finding Strongly connected component)
- Bellman ford algorithm (works for -ve weight as well)