This is a java program to represent graph as a linked list. Each node will have a linked list consisting of node to which it is connected.
Here is the source code of the Java Program to Represent Graph Using Linked List. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
//This is a java program to represent graph as a linked list
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
public class Represent_Graph_Linked_List
{
private Map<Integer, List<Integer>> adjacencyList;
public Represent_Graph_Linked_List(int v)
{
adjacencyList = new HashMap<Integer, List<Integer>>();
for (int i = 1; i <= v; i++)
adjacencyList.put(i, new LinkedList<Integer>());
}
public void setEdge(int to, int from)
{
if (to > adjacencyList.size() || from > adjacencyList.size())
System.out.println("The vertices does not exists");
List<Integer> sls = adjacencyList.get(to);
sls.add(from);
List<Integer> dls = adjacencyList.get(from);
dls.add(to);
}
public List<Integer> getEdge(int to)
{
if (to > adjacencyList.size())
{
System.out.println("The vertices does not exists");
return null;
}
return adjacencyList.get(to);
}
public static void main(String args[])
{
int v, e, count = 1, to, from;
Scanner sc = new Scanner(System.in);
Represent_Graph_Linked_List glist;
try
{
System.out.println("Enter the number of vertices: ");
v = sc.nextInt();
System.out.println("Enter the number of edges: ");
e = sc.nextInt();
glist = new Represent_Graph_Linked_List(v);
System.out.println("Enter the edges in the graph : <to> <from>");
while (count <= e)
{
to = sc.nextInt();
from = sc.nextInt();
glist.setEdge(to, from);
count++;
}
System.out
.println("The Linked List Representation of the graph is: ");
for (int i = 1; i <= v; i++)
{
System.out.print(i + "->");
List<Integer> edgeList = glist.getEdge(i);
for (int j = 1;; j++)
{
if (j != edgeList.size())
System.out.print(edgeList.get(j - 1) + " -> ");
else
{
System.out.print(edgeList.get(j - 1));
break;
}
}
System.out.println();
}
}
catch (Exception E)
{
System.out.println("Something went wrong");
}
sc.close();
}
}
Output:
$ javac Represent_Graph_Linked_List.java $ java Represent_Graph_Linked_List Enter the number of vertices: 5 Enter the number of edges: 4 Enter the edges in the graph : <to> <from> 1 2 1 3 3 5 4 3 The Linked List Representation of the graph is: 1 -> 2 -> 3 2 -> 1 3 -> 1 -> 5 -> 4 4 -> 3 5 -> 3
Related posts:
Case-Insensitive String Matching in Java
Java Program to Perform integer Partition for a Specific Case
Apache Commons Collections SetUtils
Tránh lỗi ConcurrentModificationException trong Java như thế nào?
Java Program to Find a Good Feedback Vertex Set
Giới thiệu java.io.tmpdir
Spring Cloud Series – The Gateway Pattern
Jackson Unmarshalling JSON with Unknown Properties
Send an email using the SMTP protocol
Spring Boot - Introduction
Java Program to Perform Insertion in a 2 Dimension K-D Tree
Java Program to Implement Sorted Array
Lập trình hướng đối tượng (OOPs) trong java
Spring Boot - Actuator
Lập trình đa luồng với Callable và Future trong Java
Java Program to Implement Skew Heap
Using JWT with Spring Security OAuth
Lập trình đa luồng với CompletableFuture trong Java 8
Concurrent Test Execution in Spring 5
Java Program to Perform Addition Operation Using Bitwise Operators
Java Program to Implement AVL Tree
Java Program to Implement IdentityHashMap API
Spring Boot - Tomcat Deployment
Overview of the java.util.concurrent
Biểu thức Lambda trong Java 8 – Lambda Expressions
Spring REST with a Zuul Proxy
String Operations with Java Streams
Java Program to Solve Travelling Salesman Problem for Unweighted Graph
REST Web service: Tạo ứng dụng Java RESTful Client với Jersey Client 2.x
Java Program to Compute Cross Product of Two Vectors
Sử dụng CyclicBarrier trong Java
Hướng dẫn tạo và sử dụng ThreadPool trong Java