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:
Using JWT with Spring Security OAuth
Marker Interface trong Java
Java Program to Find Nearest Neighbor Using Linear Search
Hướng dẫn Java Design Pattern – Facade
Spring Cloud AWS – RDS
Java Program to Implement the Program Used in grep/egrep/fgrep
Overview of the java.util.concurrent
Count Occurrences of a Char in a String
Spring MVC Content Negotiation
A Custom Media Type for a Spring REST API
Java Program to Implement Rolling Hash
Spring Boot - Batch Service
Java Program to Implement Suffix Tree
Java Program to Find the Nearest Neighbor Using K-D Tree Search
Logging in Spring Boot
Spring Webflux and CORS
Luồng Daemon (Daemon Thread) trong Java
Difference Between Wait and Sleep in Java
Java Copy Constructor
Java Program to Find Maximum Element in an Array using Binary Search
Java Program to Implement the Monoalphabetic Cypher
The DAO with JPA and Spring
Java Program to Implement LinkedHashSet API
Java Program to Implement Heap Sort Using Library Functions
Java Program to Implement Binomial Heap
Object cloning trong java
Dynamic Proxies in Java
Comparing getPath(), getAbsolutePath(), and getCanonicalPath() in Java
Java Program to Check whether Undirected Graph is Connected using BFS
A Guide to TreeSet in Java
Java Program to Implement Coppersmith Freivald’s Algorithm
Java Program to Represent Graph Using Incidence Matrix
 
