Java Program to Implement Adjacency Matrix

Java program to describe the implement Adjacency Matrix. The Adjacency Matrix is used to represent a graph.The adjacency matrix of a finite graph G on n vertices is the n × n matrix where the non-diagonal entry aij is the number of edges from vertex i to vertex j, and the diagonal entry aii, depending on the convention, is either once or twice the number of edges (loops) from vertex i to itself.

Here is source code of the Java program to implement the Adjacency Matrix.The Java program is successfully compiled and run on a Linux system. The program output is also shown below.

import java.util.InputMismatchException;
import java.util.Scanner;
 
public class AdjacencyMatrix
{
    private final int MAX_NO_OF_VERTICES;
    private int adjacency_matrix[][];
 
    public AdjacencyMatrix(int number_of_vertices)
    {
        MAX_NO_OF_VERTICES = number_of_vertices;
        adjacency_matrix = new int[MAX_NO_OF_VERTICES + 1][MAX_NO_OF_VERTICES + 1];
    }
 
    public void setEdge(int from_vertex, int to_vertex, int edge) 
    {
        try 
        {
            adjacency_matrix[from_vertex][to_vertex] = edge;
        } catch (ArrayIndexOutOfBoundsException indexBounce)
        {
            System.out.println("the vertex entered is not present");
        }
    }
 
    public int getEdge(int from_vertex, int to_vertex)
    {
        try 
        {
            return adjacency_matrix[from_vertex][to_vertex];
        } catch (ArrayIndexOutOfBoundsException indexBounce)
        {
            System.out.println("the vertex entered is not present")
        }
        return -1;
    }
 
    public static void main(String... arg) 
    {
        int number_of_vertices, count = 1;
        int source = 0, destination = 0;
        Scanner scan = new Scanner(System.in);
        AdjacencyMatrix adjacencyMatrix;
 
        try 
        {   
            System.out.println("Enter the Number of Vertices");
            number_of_vertices = scan.nextInt();
 
            System.out.println("Enter the Number of Edges"); 
            int number_of_edges = scan.nextInt();
 
            adjacencyMatrix  = new AdjacencyMatrix(number_of_vertices);
            System.out.println("Enter The Graph Egdes :<source> <destination>");
            while (count <= number_of_edges)
            {
                source = scan.nextInt();
                destination = scan.nextInt();
                adjacencyMatrix.setEdge(source, destination, 1);
                count++;
            }
            System.out.println("The adjacency matrix for given graph is");
            for (int i = 1; i <= number_of_vertices; i++)
                System.out.print(i);
 
            System.out.println();
            for (int i = 1; i <= number_of_vertices; i++) 
            {
                System.out.print(i);
                for (int j = 1; j <= number_of_vertices; j++)
                {
                    System.out.print(adjacencyMatrix.getEdge(i, j));
                } 
                System.out.println();
            }
        } catch (InputMismatchException inputMisMatch) 
        {
            System.out.println("Error in Input Format.<source index> <destination index>");
        }
        scan.close();
    }
}
$javac AdjacencyMatrix.java
$java AdjacencyMatrix
 
Enter the Number of Vertices and Edges
4 5
Enter The Graph Egdes Format : <source index> <destination index> 
 
1 2 
2 3
3 4
4 1
1 3
 
The adjacency matrix for given graph is 
 
	1	2	3	4
1	0	1	1	0	
2	0	0	1	0	
3	0	0	0	1	
4	1	0	0	0

Related posts:

Java Program to find the maximum subarray sum using Binary Search approach
Spring Data MongoDB Transactions
Spring Cloud – Adding Angular
A Guide to the Java LinkedList
Guide to Guava Multimap
How to Break from Java Stream forEach
Test a REST API with Java
Java Program to Check whether Directed Graph is Connected using DFS
Spring REST API + OAuth2 + Angular
Comparing Strings in Java
Chuyển đổi giữa các kiểu dữ liệu trong Java
Spring Boot - Zuul Proxy Server and Routing
Java Program to Implement Jarvis Algorithm
Java Program to Construct an Expression Tree for an Infix Expression
REST Web service: Basic Authentication trong Jersey 2.x
Guide to the Java TransferQueue
Java Program to Construct K-D Tree for 2 Dimensional Data
Java Program to Find the Longest Subsequence Common to All Sequences in a Set of Sequences
Biến trong java
Java Program to Perform String Matching Using String Library
Abstract class và Interface trong Java
How to Kill a Java Thread
Java Program to Delete a Particular Node in a Tree Without Using Recursion
Java Program to Implement Doubly Linked List
Java Program to Check if an UnDirected Graph is a Tree or Not Using DFS
Spring Security 5 for Reactive Applications
Extra Login Fields with Spring Security
Spring MVC Setup with Kotlin
Converting Between Byte Arrays and Hexadecimal Strings in Java
Java Program to Generate Random Numbers Using Probability Distribution Function
Java Program to Implement Sieve Of Atkin
Java Program to Implement Merge Sort Algorithm on Linked List