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 the Vigenere Cypher
Apache Camel with Spring Boot
Java Program to Implement the MD5 Algorithm
The Spring @Controller and @RestController Annotations
Java Program to Implement ScapeGoat Tree
Read an Outlook MSG file
Using a List of Values in a JdbcTemplate IN Clause
Introduction to Spring Data JPA
Java Program to Find the Minimum value of Binary Search Tree
Converting Between an Array and a Set in Java
Multipart Upload with HttpClient 4
Java Program to Check whether Undirected Graph is Connected using BFS
Using Optional with Jackson
Guava – Join and Split Collections
Sending Emails with Java
Java Program to Implement Pollard Rho Algorithm
HttpClient 4 – Send Custom Cookie
Jackson vs Gson
Collect a Java Stream to an Immutable Collection
Spring Boot - Thymeleaf
Hướng dẫn sử dụng Java Reflection
Object Type Casting in Java
Introduction to Spring Data JDBC
Java Program to Find Hamiltonian Cycle in an UnWeighted Graph
Java Program to Implement Tarjan Algorithm
Spring Data JPA @Query
Login For a Spring Web App – Error Handling and Localization
Most commonly used String methods in Java
Hướng dẫn tạo và sử dụng ThreadPool trong Java
XML Serialization and Deserialization with Jackson
Java Program to Perform Deletion in a BST
Java Program to Implement Heap Sort Using Library Functions