This Java program is to find all pairs shortest path.This program finds the shortest distance between every pair of vertex in the graph.
Here is the source code of the Java program to find all pairs shortest path. 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 AllPairShortestPath { private int distancematrix[][]; private int numberofvertices; public static final int INFINITY = 999; public AllPairShortestPath(int numberofvertices) { distancematrix = new int[numberofvertices + 1][numberofvertices + 1]; this.numberofvertices = numberofvertices; } public void allPairShortestPath(int adjacencymatrix[][]) { for (int source = 1; source <= numberofvertices; source++) { for (int destination = 1; destination <= numberofvertices; destination++) { distancematrix[destination] = adjacencymatrix[destination]; } } for (int intermediate = 1; intermediate <= numberofvertices; intermediate++) { for (int source = 1; source <= numberofvertices; source++) { for (int destination = 1; destination <= numberofvertices; destination++) { if (distancematrix[intermediate] + distancematrix[intermediate][destination] < distancematrix[destination]) distancematrix[destination] = distancematrix[intermediate] + distancematrix[intermediate][destination]; } } } for (int source = 1; source <= numberofvertices; source++) System.out.print("\t" + source); System.out.println(); for (int source = 1; source <= numberofvertices; source++) { System.out.print(source + "\t"); for (int destination = 1; destination <= numberofvertices; destination++) { System.out.print(distancematrix[destination] + "\t"); } System.out.println(); } } public static void main(String... arg) { int adjacency_matrix[][]; int numberofvertices; Scanner scan = new Scanner(System.in); System.out.println("Enter the number of vertices"); numberofvertices = scan.nextInt(); adjacency_matrix = new int[numberofvertices + 1][numberofvertices + 1]; System.out.println("Enter the Weighted Matrix for the graph"); for (int source = 1; source <= numberofvertices; source++) { for (int destination = 1; destination <= numberofvertices; destination++) { adjacency_matrix[destination] = scan.nextInt(); if (source == destination) { adjacency_matrix[destination] = 0; continue; } if (adjacency_matrix[destination] == 0) { adjacency_matrix[destination] = INFINITY; } } } System.out.println("The Transitive Closure of the Graph"); AllPairShortestPath allPairShortestPath= new AllPairShortestPath(numberofvertices); allPairShortestPath.allPairShortestPath(adjacency_matrix); scan.close(); } }
$javac AllPairShortestPath.java $java AllPairShortestPath Enter the number of vertices 4 Enter the Weighted Matrix for the graph 0 0 3 0 2 0 0 0 0 7 0 1 6 0 0 0 The Transitive Closure of the Graph 1 2 3 4 1 0 10 3 4 2 2 0 5 6 3 7 7 0 1 4 6 16 9 0
Related posts:
Java Program to Implement Hash Tables Chaining with Binary Trees
Java Program to Construct an Expression Tree for an Postfix Expression
Java Program to Implement Treap
Java Program to Compare Binary and Sequential Search
Intersection of Two Lists in Java
Hướng dẫn Java Design Pattern – Observer
Java Program to Find Number of Articulation points in a Graph
Spring Boot - Tomcat Port Number
Java Program to Check Whether it is Weakly Connected or Strongly Connected for a Directed Graph
Setting Up Swagger 2 with a Spring REST API
Java Program to Implement the Binary Counting Method to Generate Subsets of a Set
Java Program to Perform Search in a BST
Java Program to Generate All Subsets of a Given Set in the Gray Code Order
Tạo ứng dụng Java RESTful Client với thư viện Retrofit
Converting a List to String in Java
Java Program to Implement Gauss Jordan Elimination
Finding Max/Min of a List or Collection
Java Timer
How to Get All Spring-Managed Beans?
Java Program to Check whether Graph is a Bipartite using 2 Color Algorithm
A Guide to JUnit 5 Extensions
Java Program to Implement Bloom Filter
Java – Reader to String
Unsatisfied Dependency in Spring
Comparing Strings in Java
Converting a Stack Trace to a String in Java
Guide to java.util.Formatter
File Upload with Spring MVC
Guide to Guava Table
Java Program to Implement Pagoda
Spring Data MongoDB Transactions
Handling URL Encoded Form Data in Spring REST