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 Check Whether an Undirected Graph Contains a Eulerian Cycle
Java Program to Implement ConcurrentLinkedQueue API
Các chương trình minh họa sử dụng Cấu trúc điều khiển trong Java
Java Program to Implement Graph Structured Stack
Spring Cloud Series – The Gateway Pattern
Working with Network Interfaces in Java
Simple Single Sign-On with Spring Security OAuth2
Spring Boot Tutorial – Bootstrap a Simple Application
JPA/Hibernate Persistence Context
Java Program to implement Priority Queue
How to Use if/else Logic in Java 8 Streams
Using a Spring Cloud App Starter
How to Count Duplicate Elements in Arraylist
Java Program to Implement Traveling Salesman Problem using Nearest neighbour Algorithm
Guide to the ConcurrentSkipListMap
Java Program to Implement VList
Jackson Exceptions – Problems and Solutions
XML-Based Injection in Spring
Spring Security – security none, filters none, access permitAll
Dockerizing a Spring Boot Application
Stack Memory and Heap Space in Java
Java Program to Perform Postorder Non-Recursive Traversal of a Given Binary Tree
Java Program to Check Multiplicability of Two Matrices
Java Program to add two large numbers using Linked List
CharSequence vs. String in Java
Java Program to Implement Merge Sort Algorithm on Linked List
Java Program to Implement Queue using Two Stacks
Biến trong java
Debug a HttpURLConnection problem
Apache Commons Collections OrderedMap
Converting a Stack Trace to a String in Java
Java Program to Implement Naor-Reingold Pseudo Random Function