Skip to main content

Command Palette

Search for a command to run...

list graph

Published
•1 min read•View as Markdown
import java.util.*;

public class Main {
    public static void main(String[] args) {
        int V = 5;
        int[][] edges = {
            {0, 1},
            {0, 2},
            {2, 3},
            {2, 4}
        };

        // Adjacency List
        ArrayList<ArrayList<Integer>> adjList = new ArrayList<>();
        for (int i = 0; i < V; i++) {
            adjList.add(new ArrayList<>());
        }

        for (int[] edge : edges) {
            int u = edge[0], v = edge[1];
            adjList.get(u).add(v);
            adjList.get(v).add(u); // Undirected graph
        }

        // DFS Traversal
        boolean[] visited = new boolean[V];
        System.out.print("DFS (Adj List): ");
        dfs(0, adjList, visited);
    }

    static void dfs(int node, ArrayList<ArrayList<Integer>> adj, boolean[] visited) {
        visited[node] = true;
        System.out.print(node + " ");
        for (int neighbor : adj.get(node)) {
            if (!visited[neighbor]) {
                dfs(neighbor, adj, visited);
            }
        }
    }
}

More from this blog

Amit singh's blog

235 posts