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 Perform Inorder Recursive Traversal of a Given Binary Tree
Java Program to Implement Patricia Trie
Spring Data Java 8 Support
Setting a Request Timeout for a Spring REST API
Java Program to implement Sparse Vector
Java Program to Implement JobStateReasons API
Java Program to Implement Johnson’s Algorithm
Tạo số và chuỗi ngẫu nhiên trong Java
How to Manually Authenticate User with Spring Security
JUnit 5 for Kotlin Developers
Spring AMQP in Reactive Applications
Spring Autowiring of Generic Types
Java Program to Implement Knight’s Tour Problem
Java Program to Perform Partial Key Search in a K-D Tree
Introduction to Spring Cloud OpenFeign
Working with Kotlin and JPA
Java Program to Implement Sorted Array
How to Get All Dates Between Two Dates?
Date Time trong Java 8
Guide to the ConcurrentSkipListMap
Immutable ArrayList in Java
Introduction to Spring Cloud Stream
Spring Security with Maven
Runnable vs. Callable in Java
Daemon Threads in Java
Java Program to Implement Stack API
Rest Web service: Filter và Interceptor với Jersey 2.x (P2)
Copy a List to Another List in Java
Java Program to Implement Quick Hull Algorithm to Find Convex Hull
Implementing a Binary Tree in Java
Spring Boot - Securing Web Applications
Spring Boot Actuator