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 Check Cycle in a Graph using Graph traversal
Java Program to Check whether Undirected Graph is Connected using DFS
Java Program to Emulate N Dice Roller
Apache Commons Collections BidiMap
Converting a Stack Trace to a String in Java
Java Program to implement Associate Array
Java Program to Check if a Matrix is Invertible
Guide to Mustache with Spring Boot
Java Program to Solve any Linear Equations
Java Program to Implement the RSA Algorithm
Java Program to Implement Circular Singly Linked List
Java – Generate Random String
Xử lý ngoại lệ đối với trường hợp ghi đè phương thức trong java
Dynamic Proxies in Java
Hướng dẫn sử dụng Java String, StringBuffer và StringBuilder
How to Implement Caching using Adonis.js 5
Introduction to Java Serialization
Transaction Propagation and Isolation in Spring @Transactional
Java Program to Check if a Given Binary Tree is an AVL Tree or Not
Sử dụng JDBC API thực thi câu lệnh truy vấn dữ liệu
Redirect to Different Pages after Login with Spring Security
Introduction to Using Thymeleaf in Spring
Java Program to Generate All Possible Combinations of a Given List of Numbers
Validations for Enum Types
Truyền giá trị và tham chiếu trong java
ExecutorService – Waiting for Threads to Finish
Introduction to Spring Cloud CLI
Introduction to Spring Boot CLI
The Difference Between Collection.stream().forEach() and Collection.forEach()
Java Program to Implement RenderingHints API
Java Program to Implement Disjoint Set Data Structure
Apache Commons Collections Bag