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:
HandlerAdapters in Spring MVC
Giới thiệu Json Web Token (JWT)
Period and Duration in Java
Handling Errors in Spring WebFlux
Guide to the Volatile Keyword in Java
Arrays.asList vs new ArrayList(Arrays.asList())
Java Program to Find Nearest Neighbor Using Linear Search
Transactions with Spring and JPA
@Before vs @BeforeClass vs @BeforeEach vs @BeforeAll
Java Program to Implement the Edmond’s Algorithm for Maximum Cardinality Matching
Java Program to Perform Matrix Multiplication
Hướng dẫn Java Design Pattern – Dependency Injection
Debugging Reactive Streams in Java
How to Break from Java Stream forEach
Java Program to Implement Dijkstra’s Algorithm using Queue
Java Program to Find Number of Articulation points in a Graph
How to Change the Default Port in Spring Boot
Java Program to Implement the Hungarian Algorithm for Bipartite Matching
Java Program to Remove the Edges in a Given Cyclic Graph such that its Linear Extension can be Found
Java Program to Implement RenderingHints API
Java Program to implement Array Deque
A Guide to System.exit()
Java Program to Perform Stooge Sort
Custom Thread Pools In Java 8 Parallel Streams
Java Program to Generate Random Numbers Using Probability Distribution Function
Java Program to Solve Knapsack Problem Using Dynamic Programming
Date Time trong Java 8
Java Program to Implement Sorted Circular Doubly Linked List
Java Program to Represent Graph Using 2D Arrays
Optional trong Java 8
Java Program to Solve a Matching Problem for a Given Specific Case
Apache Commons Collections OrderedMap