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:
Apache Commons Collections SetUtils
Spring REST API + OAuth2 + Angular (using the Spring Security OAuth legacy stack)
Map Interface trong java
Most commonly used String methods in Java
RegEx for matching Date Pattern in Java
Collect a Java Stream to an Immutable Collection
Java Program to Implement Depth-limited Search
Java Program to Implement Min Heap
Batch Processing with Spring Cloud Data Flow
New Stream Collectors in Java 9
Quick Guide to Spring MVC with Velocity
Overview of Spring Boot Dev Tools
Initialize a HashMap in Java
How to use the Spring FactoryBean?
Jackson – Change Name of Field
Java Program to Implement SynchronosQueue API
Hướng dẫn sử dụng Java Annotation
Easy Ways to Write a Java InputStream to an OutputStream
Hướng dẫn Java Design Pattern – Proxy
Java Program to Perform LU Decomposition of any Matrix
Java Program to Implement DelayQueue API
Java Program to Solve a Matching Problem for a Given Specific Case
JWT – Token-based Authentication trong Jersey 2.x
Converting between an Array and a List in Java
Create Java Applet to Simulate Any Sorting Technique
Java 9 Stream API Improvements
A Guide to WatchService in Java NIO2
Tạo ứng dụng Java RESTful Client với thư viện Retrofit
Spring Data – CrudRepository save() Method
Tìm hiểu về xác thực và phân quyền trong ứng dụng
Automatic Property Expansion with Spring Boot
HttpClient Basic Authentication