Java Program to Represent Graph Using Adjacency Matrix

This is a java program to represent graph as a adjacency matrix. 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 Adjacency Matrix. 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 adjacency matrix
import java.util.Scanner;
 
public class Represent_Graph_Adjacency_Matrix 
{
    private final int vertices;
    private int[][] adjacency_matrix;
 
    public Represent_Graph_Adjacency_Matrix(int v) 
    {
        vertices = v;
        adjacency_matrix = new int[vertices + 1][vertices + 1];
    }
 
    public void makeEdge(int to, int from, int edge) 
    {
        try 
        {
            adjacency_matrix[to][from] = edge;
        }
        catch (ArrayIndexOutOfBoundsException index) 
        {
            System.out.println("The vertices does not exists");
        }
    }
 
    public int getEdge(int to, int from) 
    {
        try 
        {
            return adjacency_matrix[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_Adjacency_Matrix 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_Adjacency_Matrix(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 adjacency matrix 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("Somthing went wrong");
        }
 
        sc.close();
    }
}

Output:

$ javac Represent_Graph_Adjacency_Matrix.java
$ java Represent_Graph_Adjacency_Matrix
 
Enter the number of vertices: 
5
Enter the number of edges: 
7
Enter the edges: <to> <from>
1 1
2 3
3 4
4 5
3 5
1 4
2 4
The adjacency matrix for the given graph is: 
  1 2 3 4 5 
1 1 0 0 1 0 
2 0 0 1 1 0 
3 0 0 0 1 1 
4 0 0 0 0 1 
5 0 0 0 0 0

Related posts:

Java Program to implement Circular Buffer
Guide to CopyOnWriteArrayList
Guide to java.util.concurrent.Future
wait() and notify() Methods in Java
Assert an Exception is Thrown in JUnit 4 and 5
Câu lệnh điều khiển vòng lặp trong Java (break, continue)
ThreadPoolTaskExecutor corePoolSize vs. maxPoolSize
Java Program to Find the Nearest Neighbor Using K-D Tree Search
Programmatic Transaction Management in Spring
The Dining Philosophers Problem in Java
Giới thiệu Java Service Provider Interface (SPI) – Tạo các ứng dụng Java dễ mở rộng
Java Program to Find the Minimum value of Binary Search Tree
Java Program to Find the Edge Connectivity of a Graph
Introduction to Project Reactor Bus
Hướng dẫn kết nối cơ sở dữ liệu với Java JDBC
Java Program to Find Path Between Two Nodes in a Graph
Concrete Class in Java
The “final” Keyword in Java
Spring Boot - Zuul Proxy Server and Routing
Handling Errors in Spring WebFlux
Java Program to Implement Adjacency List
Hướng dẫn tạo và sử dụng ThreadPool trong Java
Wiring in Spring: @Autowired, @Resource and @Inject
Setting Up Swagger 2 with a Spring REST API
Extract links from an HTML page
Java – InputStream to Reader
Giới thiệu HATEOAS
Java Program to Implement the Schonhage-Strassen Algorithm for Multiplication of Two Numbers
Introduction to Java Serialization
DynamoDB in a Spring Boot Application Using Spring Data
Java Program to Implement Randomized Binary Search Tree
Guide to java.util.concurrent.BlockingQueue