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 EnumMap API
Java Program to Implement Floyd-Warshall Algorithm
Java Program to Implement Strassen Algorithm
Xây dựng ứng dụng Client-Server với Socket trong Java
Spring Boot - Hystrix
Java Program to Implement Min Hash
Spring 5 WebClient
Java Program to Implement Extended Euclid Algorithm
New Features in Java 15
Java Convenience Factory Methods for Collections
Java Program to Find SSSP (Single Source Shortest Path) in DAG (Directed Acyclic Graphs)
Java Program to Perform Finite State Automaton based Search
Spring Security and OpenID Connect
Spring WebClient vs. RestTemplate
Overflow and Underflow in Java
Java Program to Check if it is a Sparse Matrix
Cơ chế Upcasting và Downcasting trong java
Java Program to Check whether Directed Graph is Connected using BFS
Iterable to Stream in Java
Java Program to Apply Above-Below-on Test to Find the Position of a Point with respect to a Line
Removing Elements from Java Collections
Tạo ứng dụng Java RESTful Client với thư viện OkHttp
Java Program to Find kth Largest Element in a Sequence
Java Program to Implement Vector API
Biểu thức Lambda trong Java 8 – Lambda Expressions
Weak References in Java
Java Program to Implement Hash Tables chaining with Singly Linked Lists
Mệnh đề Switch-case trong java
Java Concurrency Interview Questions and Answers
Java Program to Implement Dijkstra’s Algorithm using Set
Introduction to Spring Data REST
Java Program to Generate a Random Subset by Coin Flipping