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:
Giới thiệu JDBC Connection Pool
Handling Errors in Spring WebFlux
Properties with Spring and Spring Boot
Java Program to Implement ArrayList API
Java Program to Implement Hamiltonian Cycle Algorithm
Hướng dẫn sử dụng lớp Console trong java
Java – Reader to Byte Array
Guava – Join and Split Collections
Control the Session with Spring Security
Java Program to Implement Adjacency List
Convert String to Byte Array and Reverse in Java
Shuffling Collections In Java
Query Entities by Dates and Times with Spring Data JPA
Introduction to the Java NIO2 File API
Working with Network Interfaces in Java
Returning Custom Status Codes from Spring Controllers
Apache Commons Collections MapUtils
An Intro to Spring Cloud Contract
Spring MVC Tutorial
Java Program to Find the GCD and LCM of two Numbers
Java Program to Implement the Alexander Bogomolny’s UnOrdered Permutation Algorithm for Elements Fro...
Documenting a Spring REST API Using OpenAPI 3.0
Java Program to Find Nearest Neighbor for Static Data Set
Java Program to Implement Karatsuba Multiplication Algorithm
Giới thiệu Google Guice – Aspect Oriented Programming (AOP)
Java Program to Implement Borwein Algorithm
Xử lý ngoại lệ đối với trường hợp ghi đè phương thức trong java
Using a List of Values in a JdbcTemplate IN Clause
Jackson Ignore Properties on Marshalling
Lập trình đa luồng trong Java (Java Multi-threading)
JUnit5 @RunWith
Most commonly used String methods in Java