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 Strassen Algorithm
Java Program to Check Whether a Directed Graph Contains a Eulerian Path
Java 8 Streams peek() API
The SpringJUnitConfig and SpringJUnitWebConfig Annotations in Spring 5
Java Program to Apply Above-Below-on Test to Find the Position of a Point with respect to a Line
Java Program to Implement LinkedBlockingQueue API
Apache Tiles Integration with Spring MVC
Spring WebFlux Filters
Java Program to Implement Fibonacci Heap
Java Program to Create a Random Graph Using Random Edge Generation
Java Program to Solve the 0-1 Knapsack Problem
Guide to Spring Cloud Kubernetes
Assert an Exception is Thrown in JUnit 4 and 5
Java Program to Compute Discrete Fourier Transform Using the Fast Fourier Transform Approach
Java Program to Implement LinkedBlockingDeque API
Java Program to Find k Numbers Closest to Median of S, Where S is a Set of n Numbers
Spring Boot - Rest Controller Unit Test
Java Program to Implement Double Order Traversal of a Binary Tree
Java Program to Perform Encoding of a Message Using Matrix Multiplication
Mệnh đề if-else trong java
Java Program to implement Dynamic Array
Java – Reader to String
Debug a HttpURLConnection problem
How to Define a Spring Boot Filter?
Java Program to Find Minimum Number of Edges to Cut to make the Graph Disconnected
Difference Between Wait and Sleep in Java
HashMap trong Java hoạt động như thế nào?
Java Program to Perform Searching Based on Locality of Reference
Java Program to Implement WeakHashMap API
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
Marker Interface trong Java
Truyền giá trị và tham chiếu trong java