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 8 StringJoiner
Auditing with JPA, Hibernate, and Spring Data JPA
Java Program to Find Maximum Element in an Array using Binary Search
Java Program to Encode a Message Using Playfair Cipher
Call Methods at Runtime Using Java Reflection
Java – Reader to Byte Array
Java Program to Find SSSP (Single Source Shortest Path) in DAG (Directed Acyclic Graphs)
Jackson – Unmarshall to Collection/Array
Comparing getPath(), getAbsolutePath(), and getCanonicalPath() in Java
Biểu thức Lambda trong Java 8 – Lambda Expressions
Java Collections Interview Questions
Java Program to Test Using DFS Whether a Directed Graph is Weakly Connected or Not
Java Program to Implement Fermat Factorization Algorithm
Java Program to Implement Ternary Search Tree
SOAP Web service: Upload và Download file sử dụng MTOM trong JAX-WS
Hướng dẫn Java Design Pattern – Intercepting Filter
Java Program to Print the Kind of Rotation the AVL Tree is Undergoing
Java Program to Implement ConcurrentHashMap API
Java Program to Implement AA Tree
Constructor Dependency Injection in Spring
Quick Guide to Spring Bean Scopes
Sorting in Java
Working With Maps Using Streams
Map Serialization and Deserialization with Jackson
Hamcrest Collections Cookbook
Spring Boot Configuration with Jasypt
Java Program to implement Circular Buffer
MyBatis with Spring
Java Program to Implement Suffix Array
Limiting Query Results with JPA and Spring Data JPA
A Guide To UDP In Java
Java Program to Implement Caesar Cypher