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:
Introduction to Java Serialization
Java Program to Find k Numbers Closest to Median of S, Where S is a Set of n Numbers
Java Program to Apply Above-Below-on Test to Find the Position of a Point with respect to a Line
Java Program to Implement a Binary Search Algorithm for a Specific Search Sequence
A Guide to WatchService in Java NIO2
4 tính chất của lập trình hướng đối tượng trong Java
Implementing a Binary Tree in Java
Java Program to Implement PrinterStateReasons API
Spring WebClient Requests with Parameters
Rate Limiting in Spring Cloud Netflix Zuul
Spring RequestMapping
Hướng dẫn Java Design Pattern – Template Method
Introduction to Spring Cloud Stream
Java Program to Perform Sorting Using B-Tree
Introduction to Spring Security Expressions
Java Program to Implement Sorted Singly Linked List
So sánh HashMap và HashSet trong Java
File Upload with Spring MVC
ClassNotFoundException vs NoClassDefFoundError
Java Program to Implement Sorted Circular Doubly Linked List
How to Find an Element in a List with Java
Java Program to Implement Sorted Vector
The “final” Keyword in Java
Xây dựng ứng dụng Client-Server với Socket trong Java
Marker Interface trong Java
RestTemplate Post Request with JSON
An Intro to Spring Cloud Task
Guide to @JsonFormat in Jackson
Quick Guide to the Java StringTokenizer
Java Program to Check if a Given Graph Contain Hamiltonian Cycle or Not
Java Program to Implement vector
Java Program to Check whether Directed Graph is Connected using DFS