Java program to describe the representation of graph using adjacency matrix.In mathematics and computer science, an adjacency matrix is a means of representing which vertices (or nodes) of a graph are adjacent to which other vertices. Another matrix representation for a graph is the incidence matrix.
Here is source code of the Java program to find the adjacency matrix of a given graph .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 GraphAdjacencyMatrix { private final int MAX_NO_OF_VERTICES; private int adjacency_matrix[][]; public GraphAdjacencyMatrix(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); GraphAdjacencyMatrix 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 GraphAdjacencyMatrix(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 GraphAdjacencyMatrix.java $java GraphAdjacencyMatrix 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:
Overview of the java.util.concurrent
Rest Web service: Filter và Interceptor với Jersey 2.x (P2)
Concurrent Test Execution in Spring 5
Hướng dẫn Java Design Pattern – Template Method
Using Spring ResponseEntity to Manipulate the HTTP Response
Spring Boot - Hystrix
Spring Security Basic Authentication
Java Program to Implement Sieve Of Atkin
Guide to @JsonFormat in Jackson
Java Program to Implement Quick Sort with Given Complexity Constraint
Guide to java.util.Formatter
Java Program to Print the Kind of Rotation the AVL Tree is Undergoing
Comparing getPath(), getAbsolutePath(), and getCanonicalPath() in Java
Introduction to Java 8 Streams
How to Get All Dates Between Two Dates?
Introduction to Spring Security Expressions
Xử lý ngoại lệ trong Java (Exception Handling)
Java Program to Solve Tower of Hanoi Problem using Stacks
Java Program to Find Median of Elements where Elements are Stored in 2 Different Arrays
Custom Error Pages with Spring MVC
Java Program to Repeatedly Search the Same Text (such as Bible by building a Data Structure)
Java Program to Generate Randomized Sequence of Given Range of Numbers
Testing an OAuth Secured API with Spring MVC
How to Manually Authenticate User with Spring Security
Using Optional with Jackson
Converting Between an Array and a Set in Java
A Guide to the Java ExecutorService
Java Program to Use rand and srand Functions
Java Program to Implement Radix Sort
Spring Boot - Internationalization
Spring Cloud – Bootstrapping
Java 9 Stream API Improvements