Java Program to Represent Graph Using 2D Arrays

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:

RegEx for matching Date Pattern in Java
Java Program to Check Cycle in a Graph using Topological Sort
Hướng dẫn sử dụng String Format trong Java
Java Program to Find Median of Elements where Elements are Stored in 2 Different Arrays
Java Program to Find kth Largest Element in a Sequence
Introduction to Java 8 Streams
Java – Reader to InputStream
Java Program to Compute Discrete Fourier Transform Using the Fast Fourier Transform Approach
How To Serialize and Deserialize Enums with Jackson
Java Program to Print only Odd Numbered Levels of a Tree
Apache Commons Collections Bag
Creating Docker Images with Spring Boot
Properties with Spring and Spring Boot
Java Program to Implement Kosaraju Algorithm
Java 8 StringJoiner
Spring Data JPA @Modifying Annotation
The Modulo Operator in Java
A Comparison Between Spring and Spring Boot
An Introduction to Java.util.Hashtable Class
Spring Boot - Admin Client
Java Program to Implement Efficient O(log n) Fibonacci generator
Debug a HttpURLConnection problem
Java Program to Implement RenderingHints API
Java – InputStream to Reader
Java Program to Perform Inorder Non-Recursive Traversal of a Given Binary Tree
Java Program to Find MST (Minimum Spanning Tree) using Prim’s Algorithm
Java Program to Implement IdentityHashMap API
Java Program to Represent Graph Using Incidence Matrix
Object cloning trong java
Hướng dẫn Java Design Pattern – State
Java Program to Implement the Binary Counting Method to Generate Subsets of a Set
Iterating over Enum Values in Java