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 Find Transitive Closure of a Graph
Hướng dẫn Java Design Pattern – Flyweight
Java Program to Find the Connected Components of an UnDirected Graph
Template Engines for Spring
@Order in Spring
Sử dụng JDBC API thực thi câu lệnh truy vấn dữ liệu
Query Entities by Dates and Times with Spring Data JPA
Java Program to Convert a Decimal Number to Binary Number using Stacks
Java Program to Construct a Random Graph by the Method of Random Edge Selection
Java Program to Find Whether a Path Exists Between 2 Given Nodes
Xử lý ngoại lệ trong Java (Exception Handling)
Apache Commons Collections OrderedMap
Spring Boot - Tomcat Deployment
Java Program to Implement Circular Singly Linked List
Java Program to Perform Naive String Matching
Java Program to Implement Interval Tree
Java Program to Implement Karatsuba Multiplication Algorithm
Java Program to Find ith Largest Number from a Given List Using Order-Statistic Algorithm
Java Program to Find All Pairs Shortest Path
Java Program to Implement Network Flow Problem
Java Program to Implement Control Table
Java Program to Implement Stack
Send email with JavaMail
Java Program to Check if a Directed Graph is a Tree or Not Using DFS
Java Program to Solve the Fractional Knapsack Problem
Spring Boot Gradle Plugin
Queue và PriorityQueue trong Java
Java Program to Implement Sieve Of Atkin
Spring Security OAuth Login with WebFlux
Java Program to Implement Johnson’s Algorithm
How to Store Duplicate Keys in a Map in Java?
Spring Boot - Flyway Database