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 Solve Tower of Hanoi Problem using Stacks
REST Web service: Basic Authentication trong Jersey 2.x
Java Program to Perform Right Rotation on a Binary Search Tree
Introduction to Thread Pools in Java
Java Program to Check Whether a Directed Graph Contains a Eulerian Cycle
Using a List of Values in a JdbcTemplate IN Clause
Spring Boot: Customize Whitelabel Error Page
Java Program to Implement Self organizing List
Java Program to Implement Floyd Cycle Algorithm
Spring Data MongoDB Transactions
Jackson Annotation Examples
Java Program to Implement Heap Sort Using Library Functions
HttpClient 4 Cookbook
Spring Autowiring of Generic Types
Java Program to Check whether Graph is a Bipartite using BFS
Java Program to Implement Stein GCD Algorithm
Assert an Exception is Thrown in JUnit 4 and 5
Using a Mutex Object in Java
The Modulo Operator in Java
Control Structures in Java
Java Program for Douglas-Peucker Algorithm Implementation
Java Program to Perform Left Rotation on a Binary Search Tree
Converting Java Date to OffsetDateTime
Calling Stored Procedures from Spring Data JPA Repositories
Câu lệnh điều khiển vòng lặp trong Java (break, continue)
Introduction to Spring Data JDBC
Circular Dependencies in Spring
Quick Guide to java.lang.System
Hướng dẫn Java Design Pattern – Singleton
A Quick Guide to Using Keycloak with Spring Boot
Java Program to Repeatedly Search the Same Text (such as Bible by building a Data Structure)
Java Program to Check Whether a Weak Link i.e. Articulation Vertex Exists in a Graph