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 Gale Shapley Algorithm
Query Entities by Dates and Times with Spring Data JPA
Adding Parameters to HttpClient Requests
Java Program to Sort an Array of 10 Elements Using Heap Sort Algorithm
Quick Guide to Spring Bean Scopes
Java Program to Implement Hash Tables with Double Hashing
File Upload with Spring MVC
Check if a String is a Palindrome in Java
Hướng dẫn Java Design Pattern – Mediator
Tìm hiểu cơ chế Lazy Evaluation của Stream trong Java 8
The “final” Keyword in Java
Lập trình đa luồng với Callable và Future trong Java
The HttpMediaTypeNotAcceptableException in Spring MVC
Java NIO2 Path API
Xử lý ngoại lệ trong Java (Exception Handling)
Mix plain text and HTML content in a mail
Custom Cascading in Spring Data MongoDB
Prevent Cross-Site Scripting (XSS) in a Spring Application
Java Program to Implement ConcurrentSkipListMap API
Spring @Primary Annotation
Spring Boot Configuration with Jasypt
Java Program to Compare Binary and Sequential Search
Immutable ArrayList in Java
New Features in Java 13
Java Program to Implement Graph Coloring Algorithm
Java Program to Implement TreeMap API
Java Program to Implement Max-Flow Min-Cut Theorem
Spring AMQP in Reactive Applications
Guide To CompletableFuture
Spring’s RequestBody and ResponseBody Annotations
An Introduction to Java.util.Hashtable Class
Check If a String Is Numeric in Java