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:
Life Cycle of a Thread in Java
Java Program to Implement Quick Sort with Given Complexity Constraint
Java Deep Learning Essentials - Yusuke Sugomori
Hướng dẫn Java Design Pattern – State
A Guide to LinkedHashMap in Java
Documenting a Spring REST API Using OpenAPI 3.0
Guide to Spring 5 WebFlux
Java Program to Find Shortest Path Between All Vertices Using Floyd-Warshall’s Algorithm
Connect through a Proxy
Guide to WeakHashMap in Java
Beans and Dependency Injection
Java Program to Implement Pairing Heap
Hướng dẫn sử dụng Java Annotation
Java Program to Implement Max-Flow Min-Cut Theorem
Java Program to Generate All Possible Combinations of a Given List of Numbers
Java Program to Find All Pairs Shortest Path
Java Program to Check if a Given Set of Three Points Lie on a Single Line or Not
Spring Cloud – Bootstrapping
Java Program to Implement Fermat Primality Test Algorithm
Spring Data Reactive Repositories with MongoDB
A Guide to Java HashMap
CharSequence vs. String in Java
Java Program to Apply Above-Below-on Test to Find the Position of a Point with respect to a Line
Java Program to Check Whether an Undirected Graph Contains a Eulerian Cycle
Java Program to Implement LinkedList API
A Guide to Java SynchronousQueue
Cachable Static Assets with Spring MVC
Chương trình Java đầu tiên
Java Program to Represent Linear Equations in Matrix Form
Login For a Spring Web App – Error Handling and Localization
Java Program to implement Dynamic Array
A Custom Media Type for a Spring REST API