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:
Removing Elements from Java Collections
Java Program to Implement Maximum Length Chain of Pairs
Mapping Nested Values with Jackson
Java Program to Implement Gauss Seidel Method
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 Segment Tree
Check if there is mail waiting
Spring Boot - Unit Test Cases
Receive email using IMAP
Java Program to Implement the Schonhage-Strassen Algorithm for Multiplication of Two Numbers
How to use the Spring FactoryBean?
Spring 5 and Servlet 4 – The PushBuilder
Simple Single Sign-On with Spring Security OAuth2
New Features in Java 15
Java Program to Implement Bubble Sort
Java Program to Implement Hash Trie
Check If Two Lists are Equal in Java
Updating your Password
Spring Boot Tutorial – Bootstrap a Simple Application
Giới thiệu Google Guice – Dependency injection (DI) framework
Java Program to Perform Preorder Non-Recursive Traversal of a Given Binary Tree
Tạo ứng dụng Java RESTful Client không sử dụng 3rd party libraries
JWT – Token-based Authentication trong Jersey 2.x
LIKE Queries in Spring JPA Repositories
Case-Insensitive String Matching in Java
Java Program for Douglas-Peucker Algorithm Implementation
Convert Character Array to String in Java
Java Program to implement Associate Array
Remove HTML tags from a file to extract only the TEXT
Adding Shutdown Hooks for JVM Applications
Java Program to Implement Merge Sort on n Numbers Without tail-recursion
Tránh lỗi ConcurrentModificationException trong Java như thế nào?