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:
New Features in Java 14
Control Structures in Java
Java Program to Solve any Linear Equations
Spring Boot - Building RESTful Web Services
Java Program to Find Number of Articulation points in a Graph
Template Engines for Spring
Java Program to Generate All Pairs of Subsets Whose Union Make the Set
Spring Security 5 for Reactive Applications
Rest Web service: Filter và Interceptor với Jersey 2.x (P1)
Java Program to Implement Cubic convergence 1/pi Algorithm
Guide to Guava Table
Runnable vs. Callable in Java
Logout in an OAuth Secured Application
Convert Hex to ASCII in Java
Java CyclicBarrier vs CountDownLatch
Using JWT with Spring Security OAuth (legacy stack)
Spring Boot - Creating Docker Image
Java Program to Implement Gabow Algorithm
New Features in Java 13
Intersection of Two Lists in Java
Giới thiệu thư viện Apache Commons Chain
Kiểu dữ liệu Ngày Giờ (Date Time) trong java
Java Program to Show the Duality Transformation of Line and Point
Xử lý ngoại lệ đối với trường hợp ghi đè phương thức trong java
Java Program to Implement Flood Fill Algorithm
Java Program to Implement Network Flow Problem
Working with Network Interfaces in Java
Initialize a HashMap in Java
Introduction to Spring Security Expressions
Guide to Spring 5 WebFlux
Quick Guide on Loading Initial Data with Spring Boot
Java Program to Implement First Fit Decreasing for 1-D Objects and M Bins