Java program to describe the implement Adjacency Matrix. The Adjacency Matrix is used to represent a graph.The adjacency matrix of a finite graph G on n vertices is the n × n matrix where the non-diagonal entry aij is the number of edges from vertex i to vertex j, and the diagonal entry aii, depending on the convention, is either once or twice the number of edges (loops) from vertex i to itself.
Here is source code of the Java program to implement the Adjacency Matrix.The Java program is successfully compiled and run on a Linux system. The program output is also shown below.
import java.util.InputMismatchException; import java.util.Scanner; public class AdjacencyMatrix { private final int MAX_NO_OF_VERTICES; private int adjacency_matrix[][]; public AdjacencyMatrix(int number_of_vertices) { MAX_NO_OF_VERTICES = number_of_vertices; adjacency_matrix = new int[MAX_NO_OF_VERTICES + 1][MAX_NO_OF_VERTICES + 1]; } public void setEdge(int from_vertex, int to_vertex, int edge) { try { adjacency_matrix[from_vertex][to_vertex] = edge; } catch (ArrayIndexOutOfBoundsException indexBounce) { System.out.println("the vertex entered is not present"); } } public int getEdge(int from_vertex, int to_vertex) { try { return adjacency_matrix[from_vertex][to_vertex]; } catch (ArrayIndexOutOfBoundsException indexBounce) { System.out.println("the vertex entered is not present") } return -1; } public static void main(String... arg) { int number_of_vertices, count = 1; int source = 0, destination = 0; Scanner scan = new Scanner(System.in); AdjacencyMatrix adjacencyMatrix; try { System.out.println("Enter the Number of Vertices"); number_of_vertices = scan.nextInt(); System.out.println("Enter the Number of Edges"); int number_of_edges = scan.nextInt(); adjacencyMatrix = new AdjacencyMatrix(number_of_vertices); System.out.println("Enter The Graph Egdes :<source> <destination>"); while (count <= number_of_edges) { source = scan.nextInt(); destination = scan.nextInt(); adjacencyMatrix.setEdge(source, destination, 1); count++; } System.out.println("The adjacency matrix for given graph is"); for (int i = 1; i <= number_of_vertices; i++) System.out.print(i); System.out.println(); for (int i = 1; i <= number_of_vertices; i++) { System.out.print(i); for (int j = 1; j <= number_of_vertices; j++) { System.out.print(adjacencyMatrix.getEdge(i, j)); } System.out.println(); } } catch (InputMismatchException inputMisMatch) { System.out.println("Error in Input Format.<source index> <destination index>"); } scan.close(); } }
$javac AdjacencyMatrix.java $java AdjacencyMatrix Enter the Number of Vertices and Edges 4 5 Enter The Graph Egdes Format : <source index> <destination index> 1 2 2 3 3 4 4 1 1 3 The adjacency matrix for given graph is 1 2 3 4 1 0 1 1 0 2 0 0 1 0 3 0 0 0 1 4 1 0 0 0
Related posts:
Hướng dẫn sử dụng Java String, StringBuffer và StringBuilder
Java Program to Find SSSP (Single Source Shortest Path) in DAG (Directed Acyclic Graphs)
Spring REST API + OAuth2 + Angular (using the Spring Security OAuth legacy stack)
An Intro to Spring Cloud Security
Inject Parameters into JUnit Jupiter Unit Tests
HTTP Authentification and CGI/Servlet
Java Program to Implement CountMinSketch
@Order in Spring
Guide to the Java Queue Interface
Spring Boot - Sending Email
ArrayList trong java
Guide to Escaping Characters in Java RegExps
Spring Boot - Flyway Database
How to Add a Single Element to a Stream
Biến trong java
Java Program to find the number of occurrences of a given number using Binary Search approach
OAuth2 Remember Me with Refresh Token
Jackson – JsonMappingException (No serializer found for class)
Quick Guide to java.lang.System
Exception Handling in Java
Java Program to Implement Segment Tree
Format ZonedDateTime to String
Java Program to Implement Booth Algorithm
Java Program to implement Sparse Vector
Java Program to Delete a Particular Node in a Tree Without Using Recursion
The HttpMediaTypeNotAcceptableException in Spring MVC
How to Read a File in Java
So sánh ArrayList và LinkedList trong Java
Java Program to Check the Connectivity of Graph Using BFS
Limiting Query Results with JPA and Spring Data JPA
Java Program to Decode a Message Encoded Using Playfair Cipher
Giới thiệu HATEOAS