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:
Constructor Dependency Injection in Spring
Giới thiệu Google Guice – Injection, Scope
Java Program to Implement Graph Structured Stack
Removing all duplicates from a List in Java
Java Program to implement Associate Array
Java Program to Solve the Fractional Knapsack Problem
The Spring @Controller and @RestController Annotations
String Joiner trong Java 8
Reactive Flow with MongoDB, Kotlin, and Spring WebFlux
Java Program to Implement Euclid GCD Algorithm
Java Program to Implement Rolling Hash
Connect through a Proxy
Java Program to Implement Disjoint Sets
How to Remove the Last Character of a String?
Java Program to Implement Unrolled Linked List
Guide to java.util.concurrent.Locks
Java Program to Check the Connectivity of Graph Using DFS
Lập trình đa luồng với CompletableFuture trong Java 8
Registration with Spring Security – Password Encoding
Implementing a Runnable vs Extending a Thread
Guide to java.util.Formatter
Introduction to Project Reactor Bus
Java Program to Find the Shortest Path Between Two Vertices Using Dijkstra’s Algorithm
Jackson – JsonMappingException (No serializer found for class)
Java Program to Find Transitive Closure of a Graph
Returning Custom Status Codes from Spring Controllers
Inject Parameters into JUnit Jupiter Unit Tests
How to Use if/else Logic in Java 8 Streams
Converting Between an Array and a Set in Java
Java Program to Perform String Matching Using String Library
Rest Web service: Filter và Interceptor với Jersey 2.x (P1)
The Guide to RestTemplate