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:
Implementing a Runnable vs Extending a Thread
Java Program to Implement Insertion Sort
Hướng dẫn Java Design Pattern – Decorator
Java Program to Implement Gauss Seidel Method
Spring WebFlux Filters
Java Program to Print the Kind of Rotation the AVL Tree is Undergoing
Spring Boot - Flyway Database
OAuth2 for a Spring REST API – Handle the Refresh Token in AngularJS
Java Program to Implement Self organizing List
Guava – Join and Split Collections
Get and Post Lists of Objects with RestTemplate
Java Program to Implement ArrayList API
A Guide to Iterator in Java
Rest Web service: Filter và Interceptor với Jersey 2.x (P1)
Java Program to Implement Segment Tree
Automatic Property Expansion with Spring Boot
Java – Write a Reader to File
A Guide to the Java ExecutorService
Converting String to Stream of chars
Java – Random Long, Float, Integer and Double
Creating Docker Images with Spring Boot
Xây dựng ứng dụng Client-Server với Socket trong Java
Hướng dẫn sử dụng Java Annotation
Tạo số và chuỗi ngẫu nhiên trong Java
Từ khóa this và super trong Java
Hướng dẫn Java Design Pattern – Adapter
Rate Limiting in Spring Cloud Netflix Zuul
LIKE Queries in Spring JPA Repositories
New in Spring Security OAuth2 – Verify Claims
Java Program to Check Whether Topological Sorting can be Performed in a Graph
Practical Java Examples of the Big O Notation
Phương thức tham chiếu trong Java 8 – Method References