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 Find All Pairs Shortest Path
Java Program to Implement Shoelace Algorithm
Xử lý ngoại lệ đối với trường hợp ghi đè phương thức trong java
Java Program to Perform Optimal Paranthesization Using Dynamic Programming
Spring Boot - Exception Handling
Jackson – Decide What Fields Get Serialized/Deserialized
Java Program to Apply DFS to Perform the Topological Sorting of a Directed Acyclic Graph
Java Program to Optimize Wire Length in Electrical Circuit
Truyền giá trị và tham chiếu trong java
Spring 5 Functional Bean Registration
So sánh HashMap và HashSet trong Java
Java Program to Create the Prufer Code for a Tree
Guide to Selenium with JUnit / TestNG
Java Program to Implement Sorted Circularly Singly Linked List
Marker Interface trong Java
Chuyển đổi giữa các kiểu dữ liệu trong Java
Java Program to Implement an Algorithm to Find the Global min Cut in a Graph
A Guide to the finalize Method in Java
Spring Boot - Google Cloud Platform
Java Program to implement Array Deque
Java Program to Implement Skew Heap
Feign – Tạo ứng dụng Java RESTful Client
Java Program to Implement Variable length array
Read an Outlook MSG file
An Intro to Spring Cloud Security
A Guide to Java 9 Modularity
Java Program to Implement Radix Sort
Spring WebClient Requests with Parameters
Spring Boot - Web Socket
New Stream Collectors in Java 9
Java Program to Check if a Matrix is Invertible
Java Program to Generate Random Hexadecimal Byte