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 LinkedBlockingDeque API
Hướng dẫn Java Design Pattern – Proxy
Why String is Immutable in Java?
Spring Boot - Admin Client
Programmatic Transaction Management in Spring
Java Program to Solve any Linear Equation in One Variable
Java Program to Implement Patricia Trie
Jackson vs Gson
Java Program to Implement Heap Sort Using Library Functions
Spring Boot - Thymeleaf
Java Byte Array to InputStream
Receive email using IMAP
Java Program to Implement Karatsuba Multiplication Algorithm
Java Program to Implement Find all Back Edges in a Graph
Tránh lỗi ConcurrentModificationException trong Java như thế nào?
HashMap trong Java hoạt động như thế nào?
Creating a Generic Array in Java
Java Program to Check Whether Topological Sorting can be Performed in a Graph
So sánh Array và ArrayList trong Java
Java Program to Implement ArrayDeque API
Java Program to Implement Efficient O(log n) Fibonacci generator
Java Program to Implement Disjoint Set Data Structure
Iterable to Stream in Java
Get the workstation name or IP
Comparing Arrays in Java
HttpClient Basic Authentication
Explain about URL and HTTPS protocol
Disable Spring Data Auto Configuration
Java Program to Implement Red Black Tree
JUnit5 Programmatic Extension Registration with @RegisterExtension
Java Program to Perform the Shaker Sort
Java Program to Implement the Edmond’s Algorithm for Maximum Cardinality Matching