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:
Spring Data JPA @Modifying Annotation
Java Program to implement Bi Directional Map
Map Interface trong java
Spring Boot: Customize Whitelabel Error Page
Spring @Primary Annotation
Hướng dẫn sử dụng luồng vào ra nhị phân trong Java
Lớp Arrarys trong Java (Arrays Utility Class)
Java Program to Find Hamiltonian Cycle in an UnWeighted Graph
Join and Split Arrays and Collections in Java
Immutable Objects in Java
Spring Security Logout
Java Program to Implement Merge Sort on n Numbers Without tail-recursion
OAuth2 for a Spring REST API – Handle the Refresh Token in AngularJS
Inheritance with Jackson
Java Program to Implement Affine Cipher
Java Program to Check if an UnDirected Graph is a Tree or Not Using DFS
Spring Boot - Servlet Filter
Working with Kotlin and JPA
Reactive WebSockets with Spring 5
Login For a Spring Web App – Error Handling and Localization
Một số nguyên tắc, định luật trong lập trình
Java Program to Implement LinkedTransferQueue API
Java Program to Check Multiplicability of Two Matrices
Java Program to Solve Knapsack Problem Using Dynamic Programming
Logout in an OAuth Secured Application
Java Program to Implement the Hungarian Algorithm for Bipartite Matching
Java Program to Perform Optimal Paranthesization Using Dynamic Programming
The Dining Philosophers Problem in Java
Java Program to Perform Cryptography Using Transposition Technique
Jackson Annotation Examples
Từ khóa this và super trong Java
Java Program to Find the Mode in a Data Set