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:
How to Break from Java Stream forEach
Guide to Java Instrumentation
Java – Write to File
Java Program to Implement Threaded Binary Tree
Java Program to Implement the Program Used in grep/egrep/fgrep
LinkedHashSet trong Java hoạt động như thế nào?
Java Program to Implement Circular Doubly Linked List
Java Perform to a 2D FFT Inplace Given a Complex 2D Array
Spring 5 WebClient
Spring Cloud Series – The Gateway Pattern
How to Get a Name of a Method Being Executed?
Java Program to Implement Nth Root Algorithm
Tính đóng gói (Encapsulation) trong java
Inject Parameters into JUnit Jupiter Unit Tests
Java Program to Implement RenderingHints API
Creating a Web Application with Spring 5
Spring Data JPA Delete and Relationships
Exploring the Spring 5 WebFlux URL Matching
How to Define a Spring Boot Filter?
Java Program to Find SSSP (Single Source Shortest Path) in DAG (Directed Acyclic Graphs)
Java Program to Delete a Particular Node in a Tree Without Using Recursion
Spring Cloud – Bootstrapping
Java Program to Check whether Directed Graph is Connected using BFS
A Guide to Java SynchronousQueue
Hướng dẫn Java Design Pattern – Singleton
Constructor Injection in Spring with Lombok
The DAO with JPA and Spring
Jackson – Decide What Fields Get Serialized/Deserialized
Java Program to find the number of occurrences of a given number using Binary Search approach
Disable DNS caching
Spring Boot Change Context Path
Giới thiệu HATEOAS