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:
Recommended Package Structure of a Spring Boot Project
Spring Boot - Runners
Java Program to Test Using DFS Whether a Directed Graph is Strongly Connected or Not
Intro to the Jackson ObjectMapper
Java Program to Perform the Unique Factorization of a Given Number
Spring @RequestParam Annotation
A Guide to EnumMap
A Guide to the finalize Method in Java
Comparing Two HashMaps in Java
Lớp Arrarys trong Java (Arrays Utility Class)
Java Program to Implement LinkedHashSet API
Serialize Only Fields that meet a Custom Criteria with Jackson
Java Program to Implement Best-First Search
Java Program to Find the Minimum value of Binary Search Tree
Display Auto-Configuration Report in Spring Boot
Java Program to Search for an Element in a Binary Search Tree
Spring WebClient Requests with Parameters
Spring Boot - Enabling Swagger2
Hướng dẫn Java Design Pattern – Observer
Java Program to Implement the One Time Pad Algorithm
Guide to the Synchronized Keyword in Java
Arrays.asList vs new ArrayList(Arrays.asList())
Hướng dẫn sử dụng Java String, StringBuffer và StringBuilder
Java Program to Describe the Representation of Graph using Adjacency Matrix
A Guide to Apache Commons Collections CollectionUtils
Guide to CountDownLatch in Java
Java Program to Implement Unrolled Linked List
Servlet 3 Async Support with Spring MVC and Spring Security
Lập trình đa luồng với CompletableFuture trong Java 8
Simplify the DAO with Spring and Java Generics
Using Optional with Jackson
Java Program to Find MST (Minimum Spanning Tree) using Kruskal’s Algorithm