This is a java program to represent graph as a adjacency list. Each node will have a linked list consisting of node to which it is connected.
Here is the source code of the Java Program to Represent Graph Using Adjacency List. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
//This is a java program to represent graph as a adjacency list import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Scanner; public class Represent_Graph_Adjacency_List { private Map<Integer, List<Integer>> adjacencyList; public Represent_Graph_Adjacency_List(int v) { adjacencyList = new HashMap<Integer, List<Integer>>(); for (int i = 1; i <= v; i++) adjacencyList.put(i, new LinkedList<Integer>()); } public void setEdge(int to, int from) { if (to > adjacencyList.size() || from > adjacencyList.size()) System.out.println("The vertices does not exists"); List<Integer> sls = adjacencyList.get(to); sls.add(from); List<Integer> dls = adjacencyList.get(from); dls.add(to); } public List<Integer> getEdge(int to) { if (to > adjacencyList.size()) { System.out.println("The vertices does not exists"); return null; } return adjacencyList.get(to); } public static void main(String args[]) { int v, e, count = 1, to, from; Scanner sc = new Scanner(System.in); Represent_Graph_Adjacency_List glist; try { System.out.println("Enter the number of vertices: "); v = sc.nextInt(); System.out.println("Enter the number of edges: "); e = sc.nextInt(); glist = new Represent_Graph_Adjacency_List(v); System.out.println("Enter the edges in the graph : <to> <from>"); while (count <= e) { to = sc.nextInt(); from = sc.nextInt(); glist.setEdge(to, from); count++; } System.out .println("The Adjacency List Representation of the graph is: "); for (int i = 1; i <= v; i++) { System.out.print(i + "->"); List<Integer> edgeList = glist.getEdge(i); for (int j = 1;; j++) { if (j != edgeList.size()) System.out.print(edgeList.get(j - 1) + " -> "); else { System.out.print(edgeList.get(j - 1)); break; } } System.out.println(); } } catch (Exception E) { System.out.println("Something went wrong"); } sc.close(); } }
Output:
$ javac Represent_Graph_Adjacency_List.java $ java Represent_Graph_Adjacency_List Enter the number of vertices: 4 5 Enter the number of edges: Enter the edges in the graph : <to> <from> 1 2 2 3 3 4 4 1 1 3 The Adjacency List Representation of the graph is: 1 -> 2 -> 4 -> 3 2 -> 1 -> 3 3 -> 2 -> 4 -> 1 4 -> 3 -> 1
Related posts:
Spring Boot - Code Structure
Java Program to Implement AVL Tree
New Features in Java 8
Java Program to Perform Partial Key Search in a K-D Tree
Spring Boot - CORS Support
Java Program to Implement Adjacency Matrix
Java Program to Compute Discrete Fourier Transform Using the Fast Fourier Transform Approach
REST Pagination in Spring
Java – Write an InputStream to a File
Java Program to Implement D-ary-Heap
Guide to java.util.concurrent.Future
Spring @RequestParam Annotation
Java Program to Implement the Bin Packing Algorithm
Server-Sent Events in Spring
Java Program to Find a Good Feedback Edge Set in a Graph
Java 8 Stream API Analogies in Kotlin
Java Program to Perform Inorder Non-Recursive Traversal of a Given Binary Tree
HttpClient with SSL
Debug a HttpURLConnection problem
DynamoDB in a Spring Boot Application Using Spring Data
Unsatisfied Dependency in Spring
Validations for Enum Types
Spring Boot Configuration with Jasypt
Vòng lặp for, while, do-while trong Java
Quick Guide to Spring Bean Scopes
Java CyclicBarrier vs CountDownLatch
Java Program to Perform Search in a BST
Java Program to Implement Iterative Deepening
Java Program to implement Priority Queue
A Guide to ConcurrentMap
Using JWT with Spring Security OAuth
Java Program to Implement Knight’s Tour Problem