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:
Spring Boot - Code Structure
Java Program to Implement LinkedBlockingDeque API
Java Program to Implement SynchronosQueue API
Java Program to Solve Travelling Salesman Problem for Unweighted Graph
Spring JDBC
Lấy ngày giờ hiện tại trong Java
Java Program to Perform Complex Number Multiplication
DynamoDB in a Spring Boot Application Using Spring Data
Partition a List in Java
Spring Boot - Tomcat Deployment
Java Program to Describe the Representation of Graph using Incidence Matrix
Find the Registered Spring Security Filters
Introduction to Spring Method Security
Guide to Mustache with Spring Boot
Primitive Type Streams in Java 8
Java Program to find the maximum subarray sum O(n^2) time(naive method)
Jackson – Change Name of Field
Spring MVC and the @ModelAttribute Annotation
ClassNotFoundException vs NoClassDefFoundError
Java Program to Solve the 0-1 Knapsack Problem
Spring Boot Tutorial – Bootstrap a Simple Application
REST Pagination in Spring
Converting Between an Array and a Set in Java
Java Program to Delete a Particular Node in a Tree Without Using Recursion
Hướng dẫn sử dụng Java Annotation
Biến trong java
New Features in Java 15
ThreadPoolTaskExecutor corePoolSize vs. maxPoolSize
Introduction to Spliterator in Java
A Guide to TreeSet in Java
A Comparison Between Spring and Spring Boot
Guide to Guava Table