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:
Quản lý bộ nhớ trong Java với Heap Space vs Stack
Hướng dẫn Java Design Pattern – Flyweight
Một số nguyên tắc, định luật trong lập trình
LinkedHashSet trong Java hoạt động như thế nào?
Java Deep Learning Essentials - Yusuke Sugomori
Spring 5 WebClient
Java Program to Perform Searching in a 2-Dimension K-D Tree
Java Program to Implement Pairing Heap
Java Program to Implement Hash Tables chaining with Singly Linked Lists
How to Remove the Last Character of a String?
Java Program to Implement Circular Doubly Linked List
Check if a String is a Palindrome in Java
Hướng dẫn sử dụng Java Reflection
Rest Web service: Filter và Interceptor với Jersey 2.x (P1)
LIKE Queries in Spring JPA Repositories
Java Program to Perform Stooge Sort
Java Program to Implement Interpolation Search Algorithm
Java Program to Find the GCD and LCM of two Numbers
The Thread.join() Method in Java
Java – Reader to Byte Array
OAuth 2.0 Resource Server With Spring Security 5
Java Program to Solve a Matching Problem for a Given Specific Case
Spring – Injecting Collections
HttpClient 4 – Follow Redirects for POST
Sắp xếp trong Java 8
Java Program to Implement EnumMap API
Wrapper Classes in Java
Converting a Stack Trace to a String in Java
Spring 5 Functional Bean Registration
Python Program to Transpose a Matrix
Java Program to Repeatedly Search the Same Text (such as Bible by building a Data Structure)
Java Program to find the number of occurrences of a given number using Binary Search approach