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 Program to Test Using DFS Whether a Directed Graph is Weakly Connected or Not
Receive email using POP3
New Features in Java 8
Checking for Empty or Blank Strings in Java
Java Program to Implement Sorted Vector
HttpClient Connection Management
Các chương trình minh họa sử dụng Cấu trúc điều khiển trong Java
Remove HTML tags from a file to extract only the TEXT
Java Program to Perform Insertion in a BST
Registration – Password Strength and Rules
Guide to the Fork/Join Framework in Java
Extra Login Fields with Spring Security
Java – String to Reader
A Guide to the finalize Method in Java
Hướng dẫn Java Design Pattern – Bridge
New Stream Collectors in Java 9
Spring 5 WebClient
Java Program to Implement Treap
Hướng dẫn sử dụng luồng vào ra ký tự trong Java
Java 8 Stream API Analogies in Kotlin
Quick Guide to java.lang.System
Inheritance with Jackson
Stack Memory and Heap Space in Java
Java Program to Implement Selection Sort
Arrays.asList vs new ArrayList(Arrays.asList())
Java Program to Implement Quick Sort Using Randomization
The XOR Operator in Java
Java Program to implement Bi Directional Map
Java Program to Generate All Possible Subsets with Exactly k Elements in Each Subset
Redirect to Different Pages after Login with Spring Security
Spring Boot - Service Components
Java Program to Perform Encoding of a Message Using Matrix Multiplication