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 Implement First Fit Decreasing for 1-D Objects and M Bins
Java Program to Implement TreeSet API
Java Program to Implement Fisher-Yates Algorithm for Array Shuffling
Comparing Dates in Java
The Basics of Java Security
Constructor Injection in Spring with Lombok
Java Program to Search for an Element in a Binary Search Tree
Java InputStream to String
Lớp Collections trong Java (Collections Utility Class)
Java Program to Implement RoleUnresolvedList API
Java Program to Find All Pairs Shortest Path
Set Interface trong Java
Spring Cloud – Securing Services
Làm thế nào tạo instance của một class mà không gọi từ khóa new?
SOAP Web service: Upload và Download file sử dụng MTOM trong JAX-WS
Using a List of Values in a JdbcTemplate IN Clause
Spring’s RequestBody and ResponseBody Annotations
Java Program to Find Whether a Path Exists Between 2 Given Nodes
Java Program to Implement Self organizing List
Quick Intro to Spring Cloud Configuration
Comparing getPath(), getAbsolutePath(), and getCanonicalPath() in Java
@Lookup Annotation in Spring
Java Program to Check the Connectivity of Graph Using BFS
Java Program to Create a Random Linear Extension for a DAG
Java Program to Implement Strassen Algorithm
Remove All Occurrences of a Specific Value from a List
Java Program to Implement Best-First Search
Guide to Character Encoding
Vấn đề Nhà sản xuất (Producer) – Người tiêu dùng (Consumer) và đồng bộ hóa các luồng trong Java
Java Program to Implement Disjoint Set Data Structure
Java Program to implement Circular Buffer
Testing an OAuth Secured API with Spring MVC