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:
Introduction to Java 8 Streams
Java Program to Implement Gale Shapley Algorithm
Comparing Dates in Java
An Intro to Spring Cloud Vault
Java Program to Implement Adjacency List
Java Program to Perform LU Decomposition of any Matrix
Guide to System.gc()
Sending Emails with Java
Java Program to Find Minimum Number of Edges to Cut to make the Graph Disconnected
ClassNotFoundException vs NoClassDefFoundError
Spring @RequestMapping New Shortcut Annotations
Lập trình đa luồng với Callable và Future trong Java
Java Program to Implement the Hill Cypher
Tổng quan về ngôn ngữ lập trình java
A Guide to Java 9 Modularity
Java Program to Find Transpose of a Graph Matrix
What is a POJO Class?
Java Program to Implement Stein GCD Algorithm
New Features in Java 15
Hướng dẫn Java Design Pattern – Bridge
OAuth2.0 and Dynamic Client Registration
Java Program to Delete a Particular Node in a Tree Without Using Recursion
Java Program to Check whether Graph is a Bipartite using DFS
Java Program to Implement Caesar Cypher
Remove the First Element from a List
Ignore Null Fields with Jackson
Testing in Spring Boot
Java Program to Implement Miller Rabin Primality Test Algorithm
Java Program to Implement Suffix Array
Registration – Password Strength and Rules
Java Program to Implement Johnson’s Algorithm
Properties with Spring and Spring Boot