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 Gauss Seidel Method
Hướng dẫn Java Design Pattern – Intercepting Filter
Java Program to Implement Sieve Of Atkin
Comparing Objects in Java
Java Program to Implement Sorted Circularly Singly Linked List
Java Program to Implement LinkedBlockingDeque API
Using a List of Values in a JdbcTemplate IN Clause
Guava CharMatcher
Immutable Map Implementations in Java
Introduction to Spliterator in Java
Introduction to Apache Commons Text
Java Program to Implement Shoelace Algorithm
Java Program to Implement AttributeList API
Hướng dẫn Java Design Pattern – Memento
Check If a String Is Numeric in Java
Java Program to Represent Graph Using Incidence List
String Processing with Apache Commons Lang 3
Java Program to Implement vector
Guide to PriorityBlockingQueue in Java
Java Program to Find SSSP (Single Source Shortest Path) in DAG (Directed Acyclic Graphs)
Java Program to Perform Left Rotation on a Binary Search Tree
Java Multi-line String
Java Program to Implement Ternary Heap
Java Program to Check Whether an Input Binary Tree is the Sub Tree of the Binary Tree
Java Program to Implement Min Heap
Integer Constant Pool trong Java
Java Program to Implement Adjacency List
Spring Boot - Enabling Swagger2
Converting Iterator to List
Java Program to Implement Wagner and Fisher Algorithm for online String Matching
Request Method Not Supported (405) in Spring
Java Program to Compute Cross Product of Two Vectors