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:
Java Program to Implement the String Search Algorithm for Short Text Sizes
Spring Security – Reset Your Password
Tiêu chuẩn coding trong Java (Coding Standards)
A Guide to Java 9 Modularity
Truyền giá trị và tham chiếu trong java
Java Program to Create a Random Linear Extension for a DAG
Java Program to Perform Postorder Recursive Traversal of a Given Binary Tree
Spring Boot - Twilio
Kết hợp Java Reflection và Java Annotations
Java Program to Implement RoleList API
Java Program to Find Whether a Path Exists Between 2 Given Nodes
Java Program to Implement Gale Shapley Algorithm
Java Program to Check whether Graph is a Bipartite using 2 Color Algorithm
Hướng dẫn sử dụng lớp Console trong java
Java Program to Implement Regular Falsi Algorithm
A Custom Data Binder in Spring MVC
Java Program to Implement Caesar Cypher
Java Program to Implement Graham Scan Algorithm to Find the Convex Hull
Rest Web service: Filter và Interceptor với Jersey 2.x (P2)
New Features in Java 10
Validations for Enum Types
Apache Camel with Spring Boot
Converting Java Date to OffsetDateTime
New in Spring Security OAuth2 – Verify Claims
Java Program to Implement Miller Rabin Primality Test Algorithm
Tìm hiểu về Web Service
HashSet trong java
Java Program to Implement Floyd-Warshall Algorithm
Chuyển đổi từ HashMap sang ArrayList
Java Program to Perform Left Rotation on a Binary Search Tree
Hướng dẫn Java Design Pattern – Prototype
Introduction to Using FreeMarker in Spring MVC