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:
Hướng dẫn Java Design Pattern – Memento
Java Program to implement Bit Set
OAuth2.0 and Dynamic Client Registration
Guide to the Fork/Join Framework in Java
Join and Split Arrays and Collections in Java
Comparing Strings in Java
So sánh ArrayList và Vector trong Java
Sử dụng Fork/Join Framework với ForkJoinPool trong Java
Multipart Upload with HttpClient 4
Check If a String Is Numeric in Java
Write/Read cookies using HTTP and Read a file from the internet
Handling URL Encoded Form Data in Spring REST
Java Program to Implement Double Order Traversal of a Binary Tree
Java Program to Check if any Graph is Possible to be Constructed for a Given Degree Sequence
Spring Boot - Tracing Micro Service Logs
DistinctBy in the Java Stream API
Spring Webflux and CORS
Spring MVC + Thymeleaf 3.0: New Features
Pagination and Sorting using Spring Data JPA
Java Program to Implement the linear congruential generator for Pseudo Random Number Generation
Marker Interface trong Java
Introduction to the Java ArrayDeque
Java Program to Implement the Checksum Method for Small String Messages and Detect
XML Serialization and Deserialization with Jackson
Java Program to Perform Deletion in a BST
A Guide to EnumMap
Java Program to Implement Maximum Length Chain of Pairs
Java Program to Implement Bresenham Line Algorithm
Java Program to Implement Shoelace Algorithm
Hướng dẫn tạo và sử dụng ThreadPool trong Java
Java Program to Implement Fisher-Yates Algorithm for Array Shuffling
Programmatic Transaction Management in Spring