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:
Spring Boot - Securing Web Applications
Java Program to Generate a Random Subset by Coin Flipping
Java Program to Describe the Representation of Graph using Adjacency List
Java Program to Implement Efficient O(log n) Fibonacci generator
How to Manually Authenticate User with Spring Security
Java InputStream to String
Notify User of Login From New Device or Location
Cachable Static Assets with Spring MVC
Java Program to Describe the Representation of Graph using Incidence Matrix
The Modulo Operator in Java
@Before vs @BeforeClass vs @BeforeEach vs @BeforeAll
Using Spring ResponseEntity to Manipulate the HTTP Response
Java Program to Show the Duality Transformation of Line and Point
File Upload with Spring MVC
HttpClient 4 – Send Custom Cookie
New Features in Java 13
Java Program to Implement Sorted Vector
Java Program to Describe the Representation of Graph using Adjacency Matrix
Spring Security Remember Me
Spring Boot Change Context Path
Java Program to Implement Range Tree
Registration – Password Strength and Rules
Remove HTML tags from a file to extract only the TEXT
Java Program to Implement Max Heap
Basic Authentication with the RestTemplate
Spring Security 5 for Reactive Applications
Tính đa hình (Polymorphism) trong Java
Guide to Guava Multimap
Quick Guide to Spring Controllers
Convert Character Array to String in Java
Constructor Dependency Injection in Spring
Java Program to Find the Shortest Path Between Two Vertices Using Dijkstra’s Algorithm