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:
Guide to the Volatile Keyword in Java
Lấy ngày giờ hiện tại trong Java
How to Get the Last Element of a Stream in Java?
Java Program to Check Whether it is Weakly Connected or Strongly Connected for a Directed Graph
Java Program to Perform Postorder Non-Recursive Traversal of a Given Binary Tree
Java Program to Represent Graph Using Incidence Matrix
Java Program to implement Priority Queue
Basic Authentication with the RestTemplate
A Guide to the ResourceBundle
Jackson Unmarshalling JSON with Unknown Properties
Java Program to Implement Ternary Search Tree
Marker Interface trong Java
Java Program to Decode a Message Encoded Using Playfair Cipher
Spring Boot - Quick Start
A Guide to Queries in Spring Data MongoDB
Receive email using POP3
Quick Guide to @RestClientTest in Spring Boot
Java Program to Implement Doubly Linked List
Converting Between an Array and a Set in Java
Java Program to Find a Good Feedback Edge Set in a Graph
Sort a HashMap in Java
LinkedHashSet trong Java hoạt động như thế nào?
JUnit5 Programmatic Extension Registration with @RegisterExtension
A Guide to Java HashMap
Introduction to the Java NIO2 File API
Tính kế thừa (Inheritance) trong java
Jackson Date
Semaphore trong Java
Giới thiệu SOAP UI và thực hiện test Web Service
Spring REST API with Protocol Buffers
Sorting in Java
Java Program to Permute All Letters of an Input String