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 Bubble Sort
Java Program to Implement Hash Tables Chaining with List Heads
Hướng dẫn sử dụng luồng vào ra nhị phân trong Java
Sending Emails with Java
The Thread.join() Method in Java
Phương thức tham chiếu trong Java 8 – Method References
Java program to Implement Tree Set
Default Password Encoder in Spring Security 5
Java toString() Method
Spring Boot - Flyway Database
Java Program for Topological Sorting in Graphs
Java Program to Implement a Binary Search Algorithm for a Specific Search Sequence
Hướng dẫn Java Design Pattern – Flyweight
Java Copy Constructor
Java Program to Implement Booth Algorithm
Java Program to Implement Sorting of Less than 100 Numbers in O(n) Complexity
Java Program to Check for balanced parenthesis by using Stacks
Reactive WebSockets with Spring 5
Java Program to Represent Graph Using Adjacency List
Java Program to find the maximum subarray sum O(n^2) time(naive method)
Send an email using the SMTP protocol
Java Program to Implement Selection Sort
Beans and Dependency Injection
Java – Convert File to InputStream
Quick Guide to java.lang.System
JUnit5 Programmatic Extension Registration with @RegisterExtension
Biểu thức Lambda trong Java 8 – Lambda Expressions
Đồng bộ hóa các luồng trong Java
Java Program to find the maximum subarray sum using Binary Search approach
Java List UnsupportedOperationException
Java Program to Implement ArrayList API
Java Program to Implement LinkedHashSet API