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 for Douglas-Peucker Algorithm Implementation
Java Program to Implement Bellman-Ford Algorithm
Converting String to Stream of chars
Java Program to Find the Median of two Sorted Arrays using Binary Search Approach
Một số từ khóa trong Java
Java Program to Implement the Hungarian Algorithm for Bipartite Matching
How to Get a Name of a Method Being Executed?
Using Spring @ResponseStatus to Set HTTP Status Code
Limiting Query Results with JPA and Spring Data JPA
Bootstrapping Hibernate 5 with Spring
Java Program to Solve a Matching Problem for a Given Specific Case
Java Program to Implement Bucket Sort
Introduction to Spring Cloud Rest Client with Netflix Ribbon
Control the Session with Spring Security
Java Program to Find Number of Articulation points in a Graph
Làm thế nào tạo instance của một class mà không gọi từ khóa new?
Java Program to Implement Queue using Two Stacks
Spring Boot - Cloud Configuration Server
Create a Custom Exception in Java
ArrayList trong java
Java Program to Convert a Decimal Number to Binary Number using Stacks
Converting String to Stream of chars
Inheritance and Composition (Is-a vs Has-a relationship) in Java
Custom HTTP Header with the HttpClient
Java Program to Describe the Representation of Graph using Adjacency List
Working with Network Interfaces in Java
Java Program to Implement Suffix Tree
Java Program to Solve Tower of Hanoi Problem using Stacks
Java Program to Implement Triply Linked List
Finding Max/Min of a List or Collection
ETags for REST with Spring
Java Program to Perform Matrix Multiplication