Java Program to Find Transpose of a Graph Matrix

This Java program,finds the transpose of graph matrix.In the mathematical and algorithmic study of graph theory, the converse,[1] transpose[2] or reverse[3] of a directed graph G is another directed graph on the same set of vertices with all of the edges reversed compared to the orientation of the corresponding edges in G. That is, if G contains an edge (u,v) then the converse/transpose/reverse of G contains an edge (v,u) and vice versa.

Here is the source code of the Java program to find the transpose of graph matrix. The Java program is successfully compiled and run on a Linux system. The program output is also shown below.

import java.util.Scanner;
 
public class TransposeOfGraph
{
    private int transposeMatrix[][];
    private int numberOfVertices;
 
    public TransposeOfGraph(int numberOfVertices)
    {
        this.numberOfVertices = numberOfVertices;
        transposeMatrix = new int[numberOfVertices + 1][numberOfVertices + 1];
    }
 
    public int[][] transpose(int adjacencyMatrix[][])
    {
        for (int source = 1; source <= numberOfVertices; source++)
        {
            for (int destination = 1; destination <= numberOfVertices; destination++)
            {
                transposeMatrix[destination] = adjacencyMatrix[destination];
            }
        }
        return transposeMatrix;
    }
 
    public static void main(String... arg)
    {
        int number_of_nodes;
        Scanner scanner = null;
 
        System.out.println("Enter the number of nodes in the graph");
        scanner = new Scanner(System.in);
        number_of_nodes = scanner.nextInt();
 
        int adjacency_matrix[][] = new int[number_of_nodes + 1][number_of_nodes + 1];
        int transpose_matrix[][];
        System.out.println("Enter the adjacency matrix");
        for (int i = 1; i <= number_of_nodes; i++)
            for (int j = 1; j <= number_of_nodes; j++)
                adjacency_matrix[i][j] = scanner.nextInt();
 
        TransposeOfGraph transposeOfGraph = new TransposeOfGraph(number_of_nodes);
        transpose_matrix = transposeOfGraph.transpose(adjacency_matrix);
 
        System.out.println("The transpose of the given graph");
        for (int i = 1; i <= number_of_nodes; i++)
            System.out.print("\t" + i);
 
        System.out.println();
        for (int source = 1; source <= number_of_nodes; source++)
        {
            System.out.print(source +"\t");
            for (int destination = 1; destination <= number_of_nodes; destination++)
            {
                System.out.print(transpose_matrix[destination] + "\t");
            }
            System.out.println();
        }
        scanner.close();
    }
}
$javac TransposeOfGraph.java
$java TransposeOfGraph
Enter the number of nodes in the graph
4
Enter the adjacency matrix
0 0 3 0
2 0 0 0 
0 7 0 1
6 0 0 0
The transpose of the given graph
	1	2	3	4
1	0	2	0	6	
2	0	0	7	0	
3	3	0	0	0	
4	0	0	1	0

Related posts:

Java Program to Implement Brent Cycle Algorithm
Working With Maps Using Streams
Spring Security OAuth2 – Simple Token Revocation
Java Program to Perform Uniform Binary Search
Java Program to Implement the Edmond’s Algorithm for Maximum Cardinality Matching
Java Program to Perform Quick Sort on Large Number of Elements
Java Program to Find Nearest Neighbor Using Linear Search
Apache Commons Collections BidiMap
Converting Java Date to OffsetDateTime
Java Program to Implement Park-Miller Random Number Generation Algorithm
Spring WebClient Filters
Java Program to Solve Tower of Hanoi Problem using Stacks
Spring Boot - Admin Client
Java Program to Implement the Alexander Bogomolny’s UnOrdered Permutation Algorithm for Elements Fro...
Java – File to Reader
Guide to Spring 5 WebFlux
Giới thiệu Aspect Oriented Programming (AOP)
Performance Difference Between save() and saveAll() in Spring Data
Chuyển đổi từ HashMap sang ArrayList
Hướng dẫn Java Design Pattern – Proxy
Java Program to Perform Partition of an Integer in All Possible Ways
Chương trình Java đầu tiên
Thao tác với tập tin và thư mục trong Java
A Guide To UDP In Java
Life Cycle of a Thread in Java
Java 8 Stream API Analogies in Kotlin
Simple Single Sign-On with Spring Security OAuth2
Java Program to Implement Suffix Tree
Java Program to Implement Direct Addressing Tables
Hướng dẫn Java Design Pattern – Abstract Factory
Java Program to Give an Implementation of the Traditional Chinese Postman Problem
Lập trình đa luồng trong Java (Java Multi-threading)