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:
Java Program to Implement Circular Singly Linked List
Spring Autowiring of Generic Types
How to Set TLS Version in Apache HttpClient
Spring Boot Change Context Path
Queue và PriorityQueue trong Java
Xử lý ngoại lệ đối với trường hợp ghi đè phương thức trong java
Spring Boot - Tomcat Port Number
Refactoring Design Pattern với tính năng mới trong Java 8
Spring Boot - Google OAuth2 Sign-In
Logging a Reactive Sequence
String Processing with Apache Commons Lang 3
Understanding Memory Leaks in Java
Java Program to Perform Cryptography Using Transposition Technique
Java Program to Delete a Particular Node in a Tree Without Using Recursion
A Quick Guide to Spring MVC Matrix Variables
Java Program to Implement Skew Heap
New Features in Java 11
Using Java Assertions
Auditing with JPA, Hibernate, and Spring Data JPA
Hướng dẫn Java Design Pattern – Transfer Object
Từ khóa static và final trong java
Java Program to Implement Cartesian Tree
Java Program to Check whether Directed Graph is Connected using DFS
Build a REST API with Spring and Java Config
Guide to Guava Multimap
Map Serialization and Deserialization with Jackson
How to Get All Spring-Managed Beans?
Java Program to Perform Stooge Sort
The Order of Tests in JUnit
A Guide to LinkedHashMap in Java
Java program to Implement Tree Set
Java Program to Implement the RSA Algorithm