Java Program to Describe the Representation of Graph using Adjacency Matrix

Java program to describe the representation of graph using adjacency matrix.In mathematics and computer science, an adjacency matrix is a means of representing which vertices (or nodes) of a graph are adjacent to which other vertices. Another matrix representation for a graph is the incidence matrix.

Here is source code of the Java program to find the adjacency matrix of a given graph .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 GraphAdjacencyMatrix
{
    private final int MAX_NO_OF_VERTICES;
    private int adjacency_matrix[][];
 
    public GraphAdjacencyMatrix(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);
        GraphAdjacencyMatrix 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 GraphAdjacencyMatrix(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 GraphAdjacencyMatrix.java
$java GraphAdjacencyMatrix
 
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:

SOAP Web service: Authentication trong JAX-WS
Tạo chương trình Java đầu tiên sử dụng Eclipse
Java Program to Perform Searching in a 2-Dimension K-D Tree
A Guide to Concurrent Queues in Java
A Guide to Spring Boot Admin
Exploring the Spring 5 WebFlux URL Matching
Java Program to Check whether Undirected Graph is Connected using BFS
Java Program to Find Number of Spanning Trees in a Complete Bipartite Graph
Java Program to Find Transitive Closure of a Graph
Java Program to Implement Hash Tables chaining with Singly Linked Lists
Java Program to Apply Above-Below-on Test to Find the Position of a Point with respect to a Line
Java Program to Check Whether Topological Sorting can be Performed in a Graph
Mix plain text and HTML content in a mail
Spring Boot - Servlet Filter
Java Program to Permute All Letters of an Input String
Java Program to Create the Prufer Code for a Tree
Kiểu dữ liệu Ngày Giờ (Date Time) trong java
Spring Boot - Build Systems
Guide to the Java TransferQueue
Spring Autowiring of Generic Types
The DAO with JPA and Spring
Java Program to Generate All Possible Subsets with Exactly k Elements in Each Subset
Java – Convert File to InputStream
Connect through a Proxy
Spring @RequestParam Annotation
List Interface trong Java
So sánh HashMap và HashSet trong Java
Java Program to Represent Graph Using Incidence Matrix
Hướng dẫn Java Design Pattern – Flyweight
The Registration Process With Spring Security
Spring Data MongoDB – Indexes, Annotations and Converters
Spring Data JPA Delete and Relationships