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 Hopcroft Algorithm
How to Remove the Last Character of a String?
Java Program to Implement Sieve Of Sundaram
Introduction to Spring Boot CLI
Java Program to Describe the Representation of Graph using Adjacency Matrix
Sorting in Java
Spring Boot - Flyway Database
Java Program to Check if a Matrix is Invertible
Java Program to Implement Hash Tables Chaining with Doubly Linked Lists
Java Program to Find Inverse of a Matrix
Java Program to Solve any Linear Equation in One Variable
Copy a List to Another List in Java
4 tính chất của lập trình hướng đối tượng trong Java
Allow user:password in URL
Database Migrations with Flyway
OAuth 2.0 Resource Server With Spring Security 5
Java Program to Find SSSP (Single Source Shortest Path) in DAG (Directed Acyclic Graphs)
Sử dụng CountDownLatch trong Java
Java equals() and hashCode() Contracts
Guide to WeakHashMap in Java
Request Method Not Supported (405) in Spring
Java Program to Implement Dijkstra’s Algorithm using Priority Queue
RegEx for matching Date Pattern in Java
Jackson JSON Views
Converting Between a List and a Set in Java
Tạo số và chuỗi ngẫu nhiên trong Java
Immutable ArrayList in Java
Server-Sent Events in Spring
Unsatisfied Dependency in Spring
Spring MVC Setup with Kotlin
Java Program to Perform Searching Using Self-Organizing Lists
Removing all Nulls from a List in Java