This is a java program to represent graph as a 2D array. Nodes are arranged in matrix and at an index of i, j zero is displayed if nodes i and j are not connected, one otherwise.
Here is the source code of the Java Program to Represent Graph Using 2D Arrays. 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 two d array import java.util.Scanner; public class Represent_Graph_TwoD_Array { private final int vertices; private int[][] twoD_array; public Represent_Graph_TwoD_Array(int v) { vertices = v; twoD_array = new int[vertices + 1][vertices + 1]; } public void makeEdge(int to, int from, int edge) { try { twoD_array[to][from] = edge; } catch (ArrayIndexOutOfBoundsException index) { System.out.println("The vertices does not exists"); } } public int getEdge(int to, int from) { try { return twoD_array[to][from]; } catch (ArrayIndexOutOfBoundsException index) { System.out.println("The vertices does not exists"); } return -1; } public static void main(String args[]) { int v, e, count = 1, to = 0, from = 0; Scanner sc = new Scanner(System.in); Represent_Graph_TwoD_Array graph; try { System.out.println("Enter the number of vertices: "); v = sc.nextInt(); System.out.println("Enter the number of edges: "); e = sc.nextInt(); graph = new Represent_Graph_TwoD_Array(v); System.out.println("Enter the edges: <to> <from>"); while (count <= e) { to = sc.nextInt(); from = sc.nextInt(); graph.makeEdge(to, from, 1); count++; } System.out.println("The two d array for the given graph is: "); System.out.print(" "); for (int i = 1; i <= v; i++) System.out.print(i + " "); System.out.println(); for (int i = 1; i <= v; i++) { System.out.print(i + " "); for (int j = 1; j <= v; j++) System.out.print(graph.getEdge(i, j) + " "); System.out.println(); } } catch (Exception E) { System.out.println("Something went wrong"); } sc.close(); } }
Output:
$ javac Represent_Graph_TwoD_Array.java $ java Represent_Graph_TwoD_Array Enter the number of vertices: 4 Enter the number of edges: 5 Enter the edges: <to> <from> 1 2 2 3 3 4 1 3 1 4 The two d array for the given graph is: 1 2 3 4 1 0 1 1 1 2 0 0 1 0 3 0 0 0 1 4 0 0 0 0
Related posts:
Java Deep Learning Essentials - Yusuke Sugomori
Java – Convert File to InputStream
Java Program to Implement SimpeBindings API
Spring’s RequestBody and ResponseBody Annotations
Java Program to Solve Knapsack Problem Using Dynamic Programming
HttpClient Timeout
Java Program to Implement Cartesian Tree
ClassNotFoundException vs NoClassDefFoundError
How to Replace Many if Statements in Java
Java – Combine Multiple Collections
Java Program to Use rand and srand Functions
Java Program to Implement Hash Tables with Quadratic Probing
Guide to DelayQueue
Spring Boot - Runners
Java Program to Generate Date Between Given Range
Java Program to Implement ArrayDeque API
Java Program to Perform Naive String Matching
Serve Static Resources with Spring
Java Program to Implement Fermat Factorization Algorithm
Java CyclicBarrier vs CountDownLatch
Convert Hex to ASCII in Java
Generating Random Dates in Java
Java Stream Filter with Lambda Expression
Introduction to Spring Security Expressions
wait() and notify() Methods in Java
Java Program to Implement Floyd-Warshall Algorithm
Handling URL Encoded Form Data in Spring REST
Java Program to Implement Randomized Binary Search Tree
Java Program to Implement Hopcroft Algorithm
Guide to Spring 5 WebFlux
Convert char to String in Java
Java Program to Find Minimum Number of Edges to Cut to make the Graph Disconnected