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:
Guide to WeakHashMap in Java
Java Program to Delete a Particular Node in a Tree Without Using Recursion
Send email with SMTPS (eg. Google GMail)
Number Formatting in Java
Spring Data JPA @Modifying Annotation
Java Program to Implement Binary Tree
Java – Delete a File
Java Program to Check if a Matrix is Invertible
How to Manually Authenticate User with Spring Security
Lập trình đa luồng với CompletableFuture trong Java 8
String Processing with Apache Commons Lang 3
Spring Boot - Tomcat Port Number
Java CyclicBarrier vs CountDownLatch
Iterable to Stream in Java
Feign – Tạo ứng dụng Java RESTful Client
Java Program to Implement Find all Forward Edges in a Graph
Hướng dẫn sử dụng Java Generics
So sánh Array và ArrayList trong Java
Returning Custom Status Codes from Spring Controllers
Tạo ứng dụng Java RESTful Client với thư viện Retrofit
So sánh HashMap và HashSet trong Java
Spring’s RequestBody and ResponseBody Annotations
Working With Maps Using Streams
The Modulo Operator in Java
Java Program to Sort an Array of 10 Elements Using Heap Sort Algorithm
Check If a String Is Numeric in Java
Request Method Not Supported (405) in Spring
Spring MVC Async vs Spring WebFlux
Java Program to Implement the Alexander Bogomolny’s UnOrdered Permutation Algorithm for Elements Fro...
Java Program to Find a Good Feedback Edge Set in a Graph
Java Program to Implement Circular Doubly Linked List
Java Program to Implement Coppersmith Freivald’s Algorithm