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:
Sắp xếp trong Java 8
Hướng dẫn Java Design Pattern – DAO
Tính đa hình (Polymorphism) trong Java
Java Program to Implement Extended Euclid Algorithm
Service Registration with Eureka
Spring Boot: Customize Whitelabel Error Page
Intro to the Jackson ObjectMapper
Jackson – Unmarshall to Collection/Array
A Quick Guide to Using Keycloak with Spring Boot
Java Program to Find the Mode in a Data Set
Semaphore trong Java
How to Round a Number to N Decimal Places in Java
Java Program to Implement Johnson’s Algorithm
Java Program to Implement Triply Linked List
Mapping a Dynamic JSON Object with Jackson
Các kiểu dữ liệu trong java
Java Program to Compute Discrete Fourier Transform Using the Fast Fourier Transform Approach
Spring Boot - Web Socket
Netflix Archaius with Various Database Configurations
Java Byte Array to InputStream
Java Program to Find the Edge Connectivity of a Graph
Form Validation with AngularJS and Spring MVC
How to Get All Dates Between Two Dates?
Ways to Iterate Over a List in Java
Guide to Spring 5 WebFlux
HashSet trong Java hoạt động như thế nào?
Java Program to Implement Ford–Fulkerson Algorithm
Basic Authentication with the RestTemplate
Period and Duration in Java
Java Program to Implement Horner Algorithm
Custom Thread Pools In Java 8 Parallel Streams
Java Program to Implement WeakHashMap API