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:

Giới thiệu JDBC Connection Pool
Check if a String is a Palindrome in Java
Spring Security Basic Authentication
Java Program to Implement Graph Structured Stack
The Registration API becomes RESTful
Generic Constructors in Java
Java Program to Implement Ternary Search Algorithm
Spring Boot - File Handling
Java Program to Compute Discrete Fourier Transform Using Naive Approach
Java Program to Find ith Largest Number from a Given List Using Order-Statistic Algorithm
Functional Interfaces in Java 8
Intro to the Jackson ObjectMapper
Java Program to Solve any Linear Equations
Java Program to Implement LinkedHashSet API
Java Program to Implement Min Hash
JWT – Token-based Authentication trong Jersey 2.x
Java Program to Implement Sparse Array
Remove HTML tags from a file to extract only the TEXT
Java Program to Implement WeakHashMap API
Java Program to Perform String Matching Using String Library
Java 9 Stream API Improvements
Flattening Nested Collections in Java
Lập trình đa luồng với CompletableFuture trong Java 8
Java Program to Generate All Possible Combinations Out of a, b, c, d, e
Java Program to Print the Kind of Rotation the AVL Tree is Undergoing
Java Program to Create a Minimal Set of All Edges Whose Addition will Convert it to a Strongly Conne...
Một số tính năng mới về xử lý ngoại lệ trong Java 7
Spring Boot - Enabling Swagger2
XML Serialization and Deserialization with Jackson
Custom JUnit 4 Test Runners
Configure a RestTemplate with RestTemplateBuilder
Spring MVC Custom Validation