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:
Giới thiệu SOAP UI và thực hiện test Web Service
Spring Boot - Bootstrapping
Build a REST API with Spring and Java Config
The Registration Process With Spring Security
Java Program to Find Nearest Neighbor for Static Data Set
Java 8 – Powerful Comparison with Lambdas
Prevent Brute Force Authentication Attempts with Spring Security
Beans and Dependency Injection
Spring Boot - Web Socket
Java Program to Implement Bellman-Ford Algorithm
Java Program to add two large numbers using Linked List
Debug a JavaMail Program
Java Program to Implement Brent Cycle Algorithm
Java Program to Check whether Directed Graph is Connected using DFS
The Modulo Operator in Java
Introduction to Spring Cloud Netflix – Eureka
Java Program to Create a Random Graph Using Random Edge Generation
Tạo ứng dụng Java RESTful Client không sử dụng 3rd party libraries
Java Program to Perform Searching in a 2-Dimension K-D Tree
Spring REST API + OAuth2 + Angular
Java Program to Implement Word Wrap Problem
Spring Boot - OAuth2 with JWT
Java Program to Implement WeakHashMap API
Java Program to Implement Double Ended Queue
Java Program to Decode a Message Encoded Using Playfair Cipher
Java Program to Implement Binary Tree
Spring MVC Async vs Spring WebFlux
Creating a Generic Array in Java
Introduction to Eclipse Collections
Spring Boot Security Auto-Configuration
A Guide to Spring Cloud Netflix – Hystrix
Java Program to Use the Bellman-Ford Algorithm to Find the Shortest Path