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:
Getting a File’s Mime Type in Java
The HttpMediaTypeNotAcceptableException in Spring MVC
Java Program to Find All Pairs Shortest Path
Java Program to Describe the Representation of Graph using Incidence List
Lớp Collectors trong Java 8
Java – Create a File
Java Program to Find Basis and Dimension of a Matrix
Java Program to Find Whether a Path Exists Between 2 Given Nodes
Convert XML to JSON Using Jackson
Spring Security 5 – OAuth2 Login
How to Delay Code Execution in Java
Java Program to Find the Minimum Element of a Rotated Sorted Array using Binary Search approach
Java Program to find the number of occurrences of a given number using Binary Search approach
So sánh ArrayList và Vector trong Java
Java Program to Implement ConcurrentSkipListMap API
The XOR Operator in Java
More Jackson Annotations
Java Program to Delete a Particular Node in a Tree Without Using Recursion
Java – Rename or Move a File
Guide to the Java Clock Class
A Guide to Java 9 Modularity
Hamcrest Collections Cookbook
Encode a String to UTF-8 in Java
A Guide to Queries in Spring Data MongoDB
Java Scanner hasNext() vs. hasNextLine()
Extract network card address
Java Program to Implement Binary Search Tree
Lớp HashMap trong Java
Ways to Iterate Over a List in Java
An Introduction to ThreadLocal in Java
Java Program to Implement Weight Balanced Tree
Java Byte Array to InputStream