Java program to describe the implement Adjacency Matrix. The Adjacency Matrix is used to represent a graph.The adjacency matrix of a finite graph G on n vertices is the n × n matrix where the non-diagonal entry aij is the number of edges from vertex i to vertex j, and the diagonal entry aii, depending on the convention, is either once or twice the number of edges (loops) from vertex i to itself.
Here is source code of the Java program to implement the Adjacency Matrix.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 AdjacencyMatrix { private final int MAX_NO_OF_VERTICES; private int adjacency_matrix[][]; public AdjacencyMatrix(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); AdjacencyMatrix 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 AdjacencyMatrix(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 AdjacencyMatrix.java $java AdjacencyMatrix 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 Self Balancing Binary Search Tree
Mix plain text and HTML content in a mail
A Guide to the ResourceBundle
A Quick JUnit vs TestNG Comparison
Java Program to Check Whether an Undirected Graph Contains a Eulerian Path
Java Program to Find a Good Feedback Edge Set in a Graph
Spring Data Java 8 Support
Custom Error Pages with Spring MVC
How to Break from Java Stream forEach
Compare Two JSON Objects with Jackson
Java Program to Find the Minimum Element of a Rotated Sorted Array using Binary Search approach
Java Program to Implement Rope
Java Program to Implement the Schonhage-Strassen Algorithm for Multiplication of Two Numbers
Java Program to Solve Travelling Salesman Problem for Unweighted Graph
Spring MVC and the @ModelAttribute Annotation
Java Program to Perform Inorder Non-Recursive Traversal of a Given Binary Tree
Java Program to Emulate N Dice Roller
Java Program to Find Hamiltonian Cycle in an UnWeighted Graph
Java Program to Perform Polygon Containment Test
Spring @RequestMapping New Shortcut Annotations
Apache Tiles Integration with Spring MVC
Spring Boot - Service Components
Lập trình mạng với java
Java Program to Create a Random Graph Using Random Edge Generation
Comparing getPath(), getAbsolutePath(), and getCanonicalPath() in Java
SOAP Web service: Authentication trong JAX-WS
Java Program to Perform Quick Sort on Large Number of Elements
Java Program to Find All Pairs Shortest Path
Java Program to Implement Vector API
How to Delay Code Execution in Java
Java Program to Perform Preorder Non-Recursive Traversal of a Given Binary Tree
Quick Guide to @RestClientTest in Spring Boot