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:
Generating Random Dates in Java
Guide to Spring 5 WebFlux
OAuth2 for a Spring REST API – Handle the Refresh Token in Angular
Java Program to Check if any Graph is Possible to be Constructed for a Given Degree Sequence
An Introduction to ThreadLocal in Java
Spring Boot - Database Handling
Apache Commons Collections SetUtils
Spring Security – Reset Your Password
RestTemplate Post Request with JSON
Java Program to Implement LinkedBlockingDeque API
Filtering and Transforming Collections in Guava
Luồng Daemon (Daemon Thread) trong Java
HashSet trong java
ETags for REST with Spring
Introduction to PCollections
Java Program to Perform Complex Number Multiplication
A Quick Guide to Using Keycloak with Spring Boot
Quản lý bộ nhớ trong Java với Heap Space vs Stack
Posting with HttpClient
Java Program to Generate All Subsets of a Given Set in the Lexico Graphic Order
Java Program to Implement Shoelace Algorithm
Java Program to Implement Sorted Doubly Linked List
Java Program to Implement Best-First Search
Java Program to Implement Double Ended Queue
Using JWT with Spring Security OAuth (legacy stack)
Java Program to Implement Kosaraju Algorithm
Optional trong Java 8
Iterating over Enum Values in Java
Hướng dẫn sử dụng Java Annotation
Java Program to Find the Longest Path in a DAG
Spring WebClient vs. RestTemplate
So sánh HashMap và Hashtable trong Java