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:
Check If a File or Directory Exists in Java
How to Round a Number to N Decimal Places in Java
Java Program to Find the Longest Path in a DAG
Guide to WeakHashMap in Java
Java Program to Implement Interval Tree
How to Replace Many if Statements in Java
Java Program to Implement Sorted Vector
Java Program to Implement EnumMap API
Java Program to Implement Min Hash
Java Program to Use Above Below Primitive to Test Whether Two Lines Intersect
Guide to java.util.concurrent.BlockingQueue
Spring Boot - Web Socket
Chuyển đổi Array sang ArrayList và ngược lại
Java Program to Solve the Fractional Knapsack Problem
ThreadPoolTaskExecutor corePoolSize vs. maxPoolSize
Programmatic Transaction Management in Spring
Java Program to Find the Longest Subsequence Common to All Sequences in a Set of Sequences
Quick Guide to @RestClientTest in Spring Boot
Giới thiệu về Stream API trong Java 8
The Spring @Controller and @RestController Annotations
Using a Custom Spring MVC’s Handler Interceptor to Manage Sessions
Introduction to Spliterator in Java
Spring MVC Content Negotiation
Java Program to Check Whether a Directed Graph Contains a Eulerian Cycle
Java Program to Solve TSP Using Minimum Spanning Trees
Java Program to Implement Bresenham Line Algorithm
Java Program to Test Using DFS Whether a Directed Graph is Weakly Connected or Not
Custom JUnit 4 Test Runners
Concatenating Strings In Java
Check If a String Is Numeric in Java
Một số từ khóa trong Java
Guide to the Volatile Keyword in Java