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 Find all Forward Edges in a Graph
Introduction to Spliterator in Java
Creating a Generic Array in Java
Java 8 Collectors toMap
Java Program to Implement CopyOnWriteArraySet API
Hướng dẫn Java Design Pattern – Adapter
Getting the Size of an Iterable in Java
Hướng dẫn Java Design Pattern – MVC
Java Program to Implement Max-Flow Min-Cut Theorem
Send email with authentication
An Intro to Spring Cloud Contract
REST Web service: Tạo ứng dụng Java RESTful Client với Jersey Client 2.x
Hướng dẫn Java Design Pattern – State
Guide to the Volatile Keyword in Java
Spring Boot - Scheduling
Java Program to Implement Triply Linked List
Java Program to Implement Hash Tables Chaining with Binary Trees
ThreadPoolTaskExecutor corePoolSize vs. maxPoolSize
Spring MVC and the @ModelAttribute Annotation
Java Program to Solve a Matching Problem for a Given Specific Case
Spring Boot - Sending Email
DynamoDB in a Spring Boot Application Using Spring Data
A Guide to Java HashMap
Compact Strings in Java 9
How to Use if/else Logic in Java 8 Streams
Send an email using the SMTP protocol
Java Program to Check Cycle in a Graph using Graph traversal
Java Program to Perform Addition Operation Using Bitwise Operators
Java Program to Implement Sorting of Less than 100 Numbers in O(n) Complexity
Java Program to Implement Quick Sort Using Randomization
Initialize a HashMap in Java
Receive email by java client