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 Quick Sort Using Randomization
Java Map With Case-Insensitive Keys
Pagination and Sorting using Spring Data JPA
Java Program to Implement Queue using Two Stacks
Java Program to Perform Left Rotation on a Binary Search Tree
Spring Boot - Code Structure
Java Program to Implement Stack using Linked List
Spring Security and OpenID Connect
Spring Boot - Tomcat Port Number
The Registration API becomes RESTful
LIKE Queries in Spring JPA Repositories
Comparing Two HashMaps in Java
HttpClient 4 – Send Custom Cookie
Java 8 Stream API Analogies in Kotlin
Hướng dẫn Java Design Pattern – Composite
Hướng dẫn Java Design Pattern – Transfer Object
Java Program to Find Shortest Path Between All Vertices Using Floyd-Warshall’s Algorithm
Java Program to Perform Postorder Non-Recursive Traversal of a Given Binary Tree
Java Program to Search for an Element in a Binary Search Tree
Spring Security OAuth2 – Simple Token Revocation
How to Return 404 with Spring WebFlux
Java Program to Generate a Graph for a Given Fixed Degree Sequence
Spring MVC Content Negotiation
Overview of Spring Boot Dev Tools
Tránh lỗi NullPointerException trong Java như thế nào?
HandlerAdapters in Spring MVC
Java Program to Implement LinkedHashSet API
Java Program to Implement Coppersmith Freivald’s Algorithm
Examine the internal DNS cache
REST Web service: Upload và Download file với Jersey 2.x
Iterable to Stream in Java
Function trong Java 8