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:
Hướng dẫn sử dụng Java Generics
Supplier trong Java 8
Hướng dẫn Java Design Pattern – Memento
Guide to Escaping Characters in Java RegExps
Java Program to Implement the Alexander Bogomolny’s UnOrdered Permutation Algorithm for Elements Fro...
Marker Interface trong Java
Sao chép các phần tử của một mảng sang mảng khác như thế nào?
Java Program to Implement Multi-Threaded Version of Binary Search Tree
Hướng dẫn Java Design Pattern – Object Pool
Java Program to Implement Miller Rabin Primality Test Algorithm
Guide to Java OutputStream
Java Program to Implement Pairing Heap
Tránh lỗi NullPointerException trong Java như thế nào?
Java Program to Find Nearest Neighbor Using Linear Search
Guide to the Java ArrayList
Java Program to Check if it is a Sparse Matrix
The SpringJUnitConfig and SpringJUnitWebConfig Annotations in Spring 5
Iterable to Stream in Java
Java Program to Implement CopyOnWriteArrayList API
Java Program to Represent Graph Using Adjacency List
REST Web service: Basic Authentication trong Jersey 2.x
Spring Boot Integration Testing with Embedded MongoDB
HashMap trong Java hoạt động như thế nào?
Spring Boot - Rest Template
Spring RestTemplate Request/Response Logging
Java Program to Test Using DFS Whether a Directed Graph is Strongly Connected or Not
Java Copy Constructor
Java Program to Check the Connectivity of Graph Using BFS
Adding Parameters to HttpClient Requests
Circular Dependencies in Spring
A Quick Guide to Using Keycloak with Spring Boot
Java Program to Represent Graph Using Adjacency Matrix