This Java program,to describe the representation of graph using incident list. Vertices and edges are stored as records or objects. Each vertex stores its incident edges, and each edge stores its incident vertices. This data structure allows the storage of additional data on vertices and edges.
Here is the source code of the Java program to describe the representation of graph using incident list. 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.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
public class IncidentList
{
private Map<Integer, List<Integer>> incidentList;
private int numberOfVertices;
public IncidentList(int numberOfVertices)
{
this.numberOfVertices = numberOfVertices;
incidentList = new HashMap<Integer, List<Integer>>();
for (int vertex = 1; vertex <= numberOfVertices; vertex++)
incidentList.put(vertex, new LinkedList<Integer>());
}
public void setEdge(int sourcevertex, int destinationvertex, int edgeNumber)
{
List<Integer> slist = incidentList.get(sourcevertex);
slist.add(edgeNumber);
return;
}
public List<Integer> getEdge(int vertex)
{
return incidentList.get(vertex);
}
public void printIncidentList()
{
System.out.println("Vertex EdgeNumber");
for (int vertex = 1; vertex <= numberOfVertices; vertex++)
{
System.out.print(vertex + ":");
List<Integer> edgeList = getEdge(vertex);
for (int j = 1; ; j++)
{
if (j != edgeList.size())
System.out.print(edgeList.get(j - 1) + "\t");
else
{
System.out.print(edgeList.get(j - 1));
break;
}
}
System.out.println();
}
}
public static void main(String... arg)
{
int numberOfVertices, numberOfEdges;
int source, destination, edgeNumber;
int edgeCount = 1;
Scanner scanner = new Scanner(System.in);
System.out.println("Enter the number of vertices");
numberOfVertices = scanner.nextInt();
IncidentList incidentList = new IncidentList(numberOfVertices);
System.out.println("Enter the number of edges");
numberOfEdges = scanner.nextInt();
System.out.println("Enter the edges format : <edgeNumber> <source> <destination>");
while (edgeCount <= numberOfEdges)
{
edgeNumber = scanner.nextInt();
source = scanner.nextInt();
destination = scanner.nextInt();
incidentList.setEdge(source, destination, edgeNumber);
edgeCount++;
}
System.out.println("\nThe Incident List is ");
incidentList.printIncidentList();
scanner.close();
}
}
$javac IterativeDeepening.java $java IterativeDeepening Enter the number of vertices 5 Enter the number of edges 5 Enter the edges format : <edgeNumber> <source> <destination> 1 1 2 2 2 4 3 5 4 4 4 3 5 5 1 The Incident List is Vertex EdgeNumber 1 : 1 5 2 : 1 2 3 : 4 4 : 2 3 4 5 : 3 5
Related posts:
HttpClient 4 – Send Custom Cookie
Java Program to Implement Hash Tables with Linear Probing
Spring Data – CrudRepository save() Method
Java Program to Find MST (Minimum Spanning Tree) using Kruskal’s Algorithm
Java Program to Perform Sorting Using B-Tree
Testing an OAuth Secured API with Spring MVC
Spring Security Form Login
Serverless Functions with Spring Cloud Function
Spring Boot - Interceptor
Guide to @JsonFormat in Jackson
Một số tính năng mới về xử lý ngoại lệ trong Java 7
Working with Kotlin and JPA
Getting the Size of an Iterable in Java
A Custom Media Type for a Spring REST API
Hướng dẫn Java Design Pattern – Chain of Responsibility
Java Program to Check if it is a Sparse Matrix
Logout in an OAuth Secured Application
Java Program to Check whether Graph is Biconnected
Serve Static Resources with Spring
Java Program to Check Whether a Weak Link i.e. Articulation Vertex Exists in a Graph
Build a REST API with Spring and Java Config
Using Spring ResponseEntity to Manipulate the HTTP Response
Spring 5 and Servlet 4 – The PushBuilder
Adding Parameters to HttpClient Requests
Spring Boot - CORS Support
Java Program to Implement the One Time Pad Algorithm
Compact Strings in Java 9
SOAP Web service: Authentication trong JAX-WS
Spring’s RequestBody and ResponseBody Annotations
Java Program to Solve a Matching Problem for a Given Specific Case
Dynamic Proxies in Java
Tìm hiểu về Web Service