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:
Model, ModelMap, and ModelAndView in Spring MVC
Java Program to Implement Quick Sort with Given Complexity Constraint
Java Program to Solve Travelling Salesman Problem for Unweighted Graph
Giới thiệu Aspect Oriented Programming (AOP)
Zipping Collections in Java
Spring REST API with Protocol Buffers
Simultaneous Spring WebClient Calls
Copy a List to Another List in Java
Cài đặt và sử dụng Swagger UI
Guide to Character Encoding
Lớp TreeMap trong Java
Working With Maps Using Streams
Hướng dẫn Java Design Pattern – Flyweight
Debug a HttpURLConnection problem
Validations for Enum Types
Period and Duration in Java
Get the workstation name or IP
Guide to the ConcurrentSkipListMap
Java Program to Check Whether a Directed Graph Contains a Eulerian Path
Quick Guide to Spring Bean Scopes
Hướng dẫn Java Design Pattern – Dependency Injection
Spring Boot - Admin Client
SOAP Web service: Authentication trong JAX-WS
New in Spring Security OAuth2 – Verify Claims
Java Program to do a Breadth First Search/Traversal on a graph non-recursively
Java Program to Implement Skip List
Java Program to Find Nearest Neighbor Using Linear Search
A Guide to JPA with Spring
Spring Boot - Actuator
Java Program to Find SSSP (Single Source Shortest Path) in DAG (Directed Acyclic Graphs)
Remove the First Element from a List
CharSequence vs. String in Java