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 Implement Depth-limited Search
Java Program to Implement Sparse Matrix
HashSet trong Java hoạt động như thế nào?
Hướng dẫn Java Design Pattern – Flyweight
Inheritance with Jackson
Java Program to Implement Fibonacci Heap
Logout in an OAuth Secured Application
Setting a Request Timeout for a Spring REST API
Multi Dimensional ArrayList in Java
The Order of Tests in JUnit
Spring Boot - Rest Template
An Introduction to ThreadLocal in Java
Java Program to Find Whether a Path Exists Between 2 Given Nodes
Guide to Selenium with JUnit / TestNG
Guava – Join and Split Collections
Jackson – Decide What Fields Get Serialized/Deserialized
Explain about URL and HTTPS protocol
Sort a HashMap in Java
Creating Docker Images with Spring Boot
Assertions in JUnit 4 and JUnit 5
Spring REST API + OAuth2 + Angular
Java Program to Implement Sorted Circular Doubly Linked List
Java Program to Implement Stack using Linked List
Hướng dẫn Java Design Pattern – Null Object
Java Program to Find the Shortest Path Between Two Vertices Using Dijkstra’s Algorithm
Spring 5 Functional Bean Registration
Find the Registered Spring Security Filters
Guide to @ConfigurationProperties in Spring Boot
Send email with JavaMail
Overview of Spring Boot Dev Tools
Batch Processing with Spring Cloud Data Flow
Java Program to Construct an Expression Tree for an Infix Expression