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:
Anonymous Classes in Java
Java Program to Construct a Random Graph by the Method of Random Edge Selection
Spring’s RequestBody and ResponseBody Annotations
Java Program to implement Sparse Vector
Java Program to Perform Matrix Multiplication
Sorting in Java
Shuffling Collections In Java
Guide to java.util.concurrent.Future
Object Type Casting in Java
Overview of the java.util.concurrent
The Difference Between Collection.stream().forEach() and Collection.forEach()
Java InputStream to String
Spring Boot - Cloud Configuration Server
Java Program to Check if a Given Set of Three Points Lie on a Single Line or Not
Spring Boot - Web Socket
Spring Security Custom AuthenticationFailureHandler
Service Registration with Eureka
Java Program to Create a Random Linear Extension for a DAG
Java Program to Perform the Sorting Using Counting Sort
Guide to PriorityBlockingQueue in Java
Using JWT with Spring Security OAuth (legacy stack)
Spring Boot - Flyway Database
Flattening Nested Collections in Java
Ép kiểu trong Java (Type casting)
Composition, Aggregation, and Association in Java
Java Program to Implement Euler Circuit Problem
Java Program to Implement Repeated Squaring Algorithm
Spring Security with Maven
Java 8 Stream API Analogies in Kotlin
String Processing with Apache Commons Lang 3
Java Program to Find Whether a Path Exists Between 2 Given Nodes
The StackOverflowError in Java