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:
Spring Boot Tutorial – Bootstrap a Simple Application
The DAO with JPA and Spring
Introduction to Spring Data JDBC
Interface trong Java 8 – Default method và Static method
Java Program to Implement Brent Cycle Algorithm
Lớp Arrarys trong Java (Arrays Utility Class)
Java Program to Check Whether a Weak Link i.e. Articulation Vertex Exists in a Graph
A Guide to JUnit 5
Apache Commons Collections BidiMap
REST Web service: Basic Authentication trong Jersey 2.x
Convert Time to Milliseconds in Java
Java Program to Implement Binomial Heap
Java Program to Implement Skip List
Mockito and JUnit 5 – Using ExtendWith
Java Program to Implement Gift Wrapping Algorithm in Two Dimensions
Updating your Password
An Introduction to Java.util.Hashtable Class
Java Program to Implement Hash Tables with Linear Probing
Converting Strings to Enums in Java
Java Program to Implement Heap Sort Using Library Functions
Sử dụng CountDownLatch trong Java
Jackson – Decide What Fields Get Serialized/Deserialized
ETL with Spring Cloud Data Flow
Guide to the Java TransferQueue
Spring REST API + OAuth2 + Angular
Java Program to Find Nearest Neighbor for Dynamic Data Set
Java 8 Stream API Analogies in Kotlin
Java Program to Implement Gauss Seidel Method
Send email with authentication
Guava – Join and Split Collections
Collect a Java Stream to an Immutable Collection
Introduction to Thread Pools in Java