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 Implement Binary Heap
Spring Webflux and CORS
Exploring the Spring Boot TestRestTemplate
Reactive Flow with MongoDB, Kotlin, and Spring WebFlux
Lớp Collections trong Java (Collections Utility Class)
Giới thiệu Java 8
Using JWT with Spring Security OAuth (legacy stack)
Java Program to implement Bit Matrix
Java Program to Implement Gift Wrapping Algorithm in Two Dimensions
Getting a File’s Mime Type in Java
Java Program to Implement Suffix Array
Java Program to Implement HashTable API
Java Program to Find Location of a Point Placed in Three Dimensions Using K-D Trees
Jackson Unmarshalling JSON with Unknown Properties
Spring Boot - File Handling
Tạo ứng dụng Java RESTful Client với thư viện Retrofit
Java Program to Perform Uniform Binary Search
Java Web Services – JAX-WS – SOAP
Java Program to Implement a Binary Search Algorithm for a Specific Search Sequence
Spring Security 5 for Reactive Applications
Java Program to do a Breadth First Search/Traversal on a graph non-recursively
Jackson – Unmarshall to Collection/Array
Guava Collections Cookbook
Java Program to Perform Optimal Paranthesization Using Dynamic Programming
Disable Spring Data Auto Configuration
Jackson Date
Spring Boot - Build Systems
Dockerizing a Spring Boot Application
Java Program to Find Nearest Neighbor for Dynamic Data Set
Lớp Properties trong java
Binary Numbers in Java
Working With Maps Using Streams