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 Optimize Wire Length in Electrical Circuit
Guide to the Java Queue Interface
OAuth2 for a Spring REST API – Handle the Refresh Token in Angular
Introduction to Spring Security Expressions
Giới thiệu java.io.tmpdir
Java Program to Implement Insertion Sort
Partition a List in Java
Introduction to Spring Cloud CLI
The Spring @Controller and @RestController Annotations
Binary Numbers in Java
Debug a JavaMail Program
Spring Boot - Sending Email
Java Program to Implement Bucket Sort
Java Program to Implement AttributeList API
Phân biệt JVM, JRE, JDK
Java Program to Find a Good Feedback Vertex Set
Spring Security – Reset Your Password
Java Program to Apply DFS to Perform the Topological Sorting of a Directed Acyclic Graph
Java Program to Check whether Undirected Graph is Connected using DFS
Spring Security with Maven
An Intro to Spring Cloud Task
Comparing Dates in Java
Giới thiệu luồng vào ra (I/O) trong Java
Java Program to Implement wheel Sieve to Generate Prime Numbers Between Given Range
Java Program to Implement ConcurrentLinkedQueue API
Java Program to Implement Hamiltonian Cycle Algorithm
Java Program to Implement Sorted Singly Linked List
Finding Max/Min of a List or Collection
Giới thiệu Java Service Provider Interface (SPI) – Tạo các ứng dụng Java dễ mở rộng
Hướng dẫn sử dụng biểu thức chính quy (Regular Expression) trong Java
Spring Boot - Actuator
Java Program to Implement Counting Sort