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 Segment Tree
Java Program to Find the GCD and LCM of two Numbers
@Before vs @BeforeClass vs @BeforeEach vs @BeforeAll
Java List UnsupportedOperationException
Spring Boot - Build Systems
Weak References in Java
Giới thiệu thư viện Apache Commons Chain
Rate Limiting in Spring Cloud Netflix Zuul
Java String Conversions
Hướng dẫn Java Design Pattern – Composite
Java Program to Implement Horner Algorithm
Java Program to Check Whether it is Weakly Connected or Strongly Connected for a Directed Graph
Spring Boot - Batch Service
Java 14 Record Keyword
Guide to java.util.concurrent.Locks
Vector trong Java
Java Program to Implement Efficient O(log n) Fibonacci generator
Java Program to Implement Tarjan Algorithm
Java Collections Interview Questions
Java Program to Implement Sorted List
Jackson Date
An Example of Load Balancing with Zuul and Eureka
ArrayList trong java
REST Web service: Upload và Download file với Jersey 2.x
Quick Guide to @RestClientTest in Spring Boot
StringBuilder vs StringBuffer in Java
Default Password Encoder in Spring Security 5
Concurrent Test Execution in Spring 5
Java Program to Perform Cryptography Using Transposition Technique
An Introduction to Java.util.Hashtable Class
Java Program to Check Cycle in a Graph using Graph traversal
Hướng dẫn sử dụng lớp Console trong java