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:
Java Program to Implement Pairing Heap
Java Program to Generate Random Hexadecimal Byte
Spring Boot Gradle Plugin
Introduction to Spring Data JDBC
OAuth2 for a Spring REST API – Handle the Refresh Token in AngularJS
LinkedList trong java
Versioning a REST API
@Lookup Annotation in Spring
Java Program to Check Whether an Input Binary Tree is the Sub Tree of the Binary Tree
Java Program to Check if a Directed Graph is a Tree or Not Using DFS
Java Program to Implement the Bin Packing Algorithm
Java Program to Find Second Smallest of n Elements with Given Complexity Constraint
Java Program to Find MST (Minimum Spanning Tree) using Prim’s Algorithm
Guide to Java 8’s Collectors
Spring Boot - Sending Email
Spring Boot - Enabling HTTPS
Java toString() Method
Request Method Not Supported (405) in Spring
Simplify the DAO with Spring and Java Generics
Java Program to Check whether Undirected Graph is Connected using DFS
Spring Boot - Internationalization
Predicate trong Java 8
Hướng dẫn sử dụng lớp Console trong java
Documenting a Spring REST API Using OpenAPI 3.0
Guide to DelayQueue
Converting String to Stream of chars
Getting Started with Stream Processing with Spring Cloud Data Flow
Introduction to Spliterator in Java
Spring Security – Reset Your Password
JUnit5 @RunWith
Tạo ứng dụng Java RESTful Client không sử dụng 3rd party libraries
Jackson Unmarshalling JSON with Unknown Properties