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 Disjoint Sets
Java Program to Delete a Particular Node in a Tree Without Using Recursion
Assertions in JUnit 4 and JUnit 5
Debug a HttpURLConnection problem
Java Program to Implement Fermat Factorization Algorithm
Java Program to Implement Graph Coloring Algorithm
So sánh ArrayList và LinkedList trong Java
REST Web service: Basic Authentication trong Jersey 2.x
Java Program to Implement HashSet API
Java Program to Implement IdentityHashMap API
Introduction to Spring Security Expressions
A Guide to ConcurrentMap
Changing Annotation Parameters At Runtime
Java Program to Solve any Linear Equation in One Variable
Java Program to Implement Kosaraju Algorithm
Spring Boot - Tomcat Port Number
Java Program to Perform the Shaker Sort
Java Program to Check Whether an Input Binary Tree is the Sub Tree of the Binary Tree
Quick Guide to Spring Bean Scopes
Java Program to Implement the Binary Counting Method to Generate Subsets of a Set
Java Program to Implement Park-Miller Random Number Generation Algorithm
Java Program to Implement RoleList API
The Spring @Controller and @RestController Annotations
Java Program to Optimize Wire Length in Electrical Circuit
Guide to the Volatile Keyword in Java
Logging in Spring Boot
Introduction to Spring Cloud Netflix – Eureka
Java Program to Evaluate an Expression using Stacks
Tránh lỗi NullPointerException trong Java như thế nào?
HTTP Authentification and CGI/Servlet
An Introduction to ThreadLocal in Java
Java Program to Implement Sorted Circular Doubly Linked List