This Java program,implements Adjacency list.In graph theory and computer science, an adjacency list representation of a graph is a collection of unordered lists, one for each vertex in the graph. Each list describes the set of neighbors of its vertex.
Here is the source code of the Java program to display a linked list in reverse. The Java program is successfully compiled and run on a Linux system. The program output is also shown below.
import java.util.HashMap; import java.util.InputMismatchException; import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Scanner; public class AdjacencyList { private Map<Integer,List<Integer>> Adjacency_List; public AdjacencyList(int number_of_vertices) { Adjacency_List = new HashMap<Integer, List<Integer>>(); for (int i = 1; i <= number_of_vertices; i++) { Adjacency_List.put(i, new LinkedList<Integer>()); } } public void setEdge(int source, int destination) { if (source > Adjacency_List.size() || destination > Adjacency_List.size()) { System.out.println("the vertex entered in not present "); return; } List<Integer> slist = Adjacency_List.get(source); slist.add(destination); List<Integer> dlist = Adjacency_List.get(destination); dlist.add(source); } public List<Integer> getEdge(int source) { if (source > Adjacency_List.size()) { System.out.println("the vertex entered is not present"); return null; } return Adjacency_List.get(source); } public static void main(String...arg) { int source, destination; int number_of_edges, number_of_vertices; int count = 1; Scanner scan = new Scanner(System.in); try { System.out.println("Enter the number of vertices and edges in graph"); number_of_vertices = scan.nextInt(); number_of_edges = scan.nextInt(); AdjacencyList adjacencyList = new AdjacencyList(number_of_vertices); System.out.println("Enter the edges in graph Format : <source index> <destination index>"); while (count <= number_of_edges) { source = scan.nextInt(); destination = scan.nextInt(); adjacencyList.setEdge(source, destination); count++; } System.out.println("the given Adjacency List for the graph \n"); for (int i = 1; i <= number_of_vertices; i++) { System.out.print(i+"->"); List<Integer> edgeList = adjacencyList.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 (InputMismatchException inputMismatch) { System.out.println("Error in Input Format. \nFormat : <source index> <destination index>"); } scan.close(); } }
$javac AdjacencyList.java $java AdjacencyList Enter the number of vertices and edges in graph 4 5 Enter the edges in graph Format : <source index> <destination index> 1 2 2 3 3 4 4 1 1 3 the given Adjacency List for the graph 1->2->4->3 2->1->3 3->2->4->1 4->3->1
Related posts:
Java Program to Test Using DFS Whether a Directed Graph is Weakly Connected or Not
How to Find an Element in a List with Java
Java Program to Implement Disjoint Set Data Structure
Java Program to subtract two large numbers using Linked Lists
Vòng lặp for, while, do-while trong Java
Explain about URL and HTTPS protocol
Add Multiple Items to an Java ArrayList
How to Set TLS Version in Apache HttpClient
Generating Random Numbers in a Range in Java
Build a REST API with Spring and Java Config
Serialization và Deserialization trong java
Create a Custom Exception in Java
Spring Security with Maven
A Guide to LinkedHashMap in Java
Create Java Applet to Simulate Any Sorting Technique
Java Program to Generate All Subsets of a Given Set in the Lexico Graphic Order
Filtering a Stream of Optionals in Java
Concatenating Strings In Java
Java Program to Find Minimum Number of Edges to Cut to make the Graph Disconnected
Giới thiệu java.io.tmpdir
How to Count Duplicate Elements in Arraylist
Java Program to Implement Gabow Algorithm
Intro to Spring Boot Starters
Java Program to Find SSSP (Single Source Shortest Path) in DAG (Directed Acyclic Graphs)
Java Program to Check Whether Graph is DAG
Spring Cloud – Bootstrapping
REST Web service: Basic Authentication trong Jersey 2.x
Query Entities by Dates and Times with Spring Data JPA
Java Program to Implement Floyd-Warshall Algorithm
Simultaneous Spring WebClient Calls
Guide to Dynamic Tests in Junit 5
Jackson – Decide What Fields Get Serialized/Deserialized