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:
Guide to the ConcurrentSkipListMap
Hướng dẫn Java Design Pattern – Interpreter
Spring Cloud AWS – Messaging Support
HttpClient 4 – Send Custom Cookie
Java Program to Implement RoleList API
Lập trình đa luồng trong Java (Java Multi-threading)
Database Migrations with Flyway
Java Program to Find the Vertex Connectivity of a Graph
Server-Sent Events in Spring
Java Program to Implement Triply Linked List
Introduction to Project Reactor Bus
Guide to UUID in Java
Using the Map.Entry Java Class
Spring MVC Content Negotiation
Spring Cloud Bus
Java Program to Implement Min Heap
Reversing a Linked List in Java
Serve Static Resources with Spring
Custom Error Pages with Spring MVC
Jackson – Decide What Fields Get Serialized/Deserialized
Hướng dẫn sử dụng Java Reflection
Convert char to String in Java
Guide To CompletableFuture
Java Program to Implement Queue using Linked List
Java Program to Generate All Subsets of a Given Set in the Gray Code Order
A Guide to BitSet in Java
Loại bỏ các phần tử trùng trong một ArrayList như thế nào trong Java 8?
Spring REST API + OAuth2 + Angular
Java Program to Represent Graph Using Linked List
ETags for REST with Spring
The XOR Operator in Java
Java Program to Implement Interpolation Search Algorithm