import java.util.*;
public class Wind {
public static void main(String[] args) {
HashMap<Integer, ArrayList<Integer>> adjList = new HashMap<>();
// Adding nodes to the graph
for (int i = 0; i < 4; i++) {
adjList.put(i, new ArrayList<>());
}
// Adding edges to the graph
addEdge(adjList, 0, 1);
addEdge(adjList, 1, 3);
addEdge(adjList, 1, 2);
addEdge(adjList, 0, 2);
// Print the adjacency list
System.out.println("Adjacency List: " + adjList);
}
// Helper method to add an edge to the graph
public static void addEdge(HashMap<Integer, ArrayList<Integer>> adjList, int source, int destination) {
adjList.get(source).add(destination);
adjList.get(destination).add(source); // If the graph is undirected
}
}
Method 2: Add when edges pre-given in form of 2-d matrix
import java.util.*;
public class Wind {
public static void main(String[] args) {
HashMap<Integer, ArrayList<Integer>> adjList = new HashMap<>();
// Adding nodes to the graph
for (int i = 0; i < 4; i++) {
adjList.put(i, new ArrayList<>());
}
int prerequisite[][] = {{0,1},{1,3},{1,2},{0,2}};
for (int[] row : prerequisite)
{
int v=row[1];
int u=row[0];
addEdge(adjList,u,v); // u --> v
}
/*for (int[] row : prerequisite) {
for (int element : row) {
// Access the current element
System.out.print(element + " ");
}
System.out.println(); // Move to the next line after each row
}*/
// Print the adjacency list
System.out.println("Adjacency List: " + adjList);
}
public static void addEdge(HashMap<Integer, ArrayList<Integer>> adjList, int source, int destination) {
adjList.get(source).add(destination);
//adjList.get(destination).add(source); // If the graph is undirected
}
}
No comments:
Post a Comment