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 Implement Knapsack Algorithm
Runnable vs. Callable in Java
Java Program to Represent Graph Using 2D Arrays
Uploading MultipartFile with Spring RestTemplate
Java Program to Compute the Area of a Triangle Using Determinants
Spring Security with Maven
Quick Guide to Spring Controllers
Java Program to Compute Cross Product of Two Vectors
Guide to the Volatile Keyword in Java
Transaction Propagation and Isolation in Spring @Transactional
Java Program to Implement LinkedTransferQueue API
Java Collections Interview Questions
Java Program to Implement Hash Trie
Java Program to Perform Encoding of a Message Using Matrix Multiplication
Quản lý bộ nhớ trong Java với Heap Space vs Stack
Java Program to Implement Suffix Tree
Spring Boot Actuator
Autoboxing và Unboxing trong Java
Java Program to Describe the Representation of Graph using Adjacency List
Spring MVC + Thymeleaf 3.0: New Features
Consuming RESTful Web Services
Integer Constant Pool trong Java
Java – Rename or Move a File
Giới thiệu HATEOAS
New in Spring Security OAuth2 – Verify Claims
Spring Boot - Code Structure
Display Auto-Configuration Report in Spring Boot
Spring Boot - Enabling HTTPS
Java Program to Compute Discrete Fourier Transform Using Naive Approach
Loại bỏ các phần tử trùng trong một ArrayList như thế nào trong Java 8?
Java Program to Perform Preorder Non-Recursive Traversal of a Given Binary Tree
Simplify the DAO with Spring and Java Generics