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 Sorted List
Guava CharMatcher
Spring Boot - Tracing Micro Service Logs
Hướng dẫn Java Design Pattern – Command
Introduction to Spring Boot CLI
Converting a Stack Trace to a String in Java
Java Program to Find Basis and Dimension of a Matrix
Giới thiệu java.io.tmpdir
Java Program to Implement ConcurrentHashMap API
Java Program to Perform Addition Operation Using Bitwise Operators
Arrays.asList vs new ArrayList(Arrays.asList())
Java Program to Find SSSP (Single Source Shortest Path) in DAG (Directed Acyclic Graphs)
Using a Spring Cloud App Starter
Java Program to Implement Min Heap
Java Program to Implement the RSA Algorithm
Java Program to Implement Hash Tables Chaining with Binary Trees
Custom Thread Pools In Java 8 Parallel Streams
Constructor Injection in Spring with Lombok
Spring Cloud Connectors and Heroku
Remove All Occurrences of a Specific Value from a List
Daemon Threads in Java
Java Program to Implement Unrolled Linked List
Jackson Ignore Properties on Marshalling
Java Program to Perform Naive String Matching
Binary Numbers in Java
Practical Java Examples of the Big O Notation
Java Program to Generate N Number of Passwords of Length M Each
New Features in Java 13
Java Program to Implement the Vigenere Cypher
How to Get All Dates Between Two Dates?
Java – Write to File
Java Program to Implement PrinterStateReasons API